[Libreoffice-commits] core.git: include/vcl vcl/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Thu Aug 27 12:33:36 UTC 2020


 include/vcl/builder.hxx       |    4 +++-
 vcl/source/window/builder.cxx |   17 +++++++++++------
 2 files changed, 14 insertions(+), 7 deletions(-)

New commits:
commit 5f2c138bf67b19ba5cfa696afda7087d6879f074
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Aug 27 09:50:00 2020 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Aug 27 14:32:50 2020 +0200

    factor out an applyAtkProperties
    
    Change-Id: Ib7fda3bbf25046f307dcd080e918d159358b4c90
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101445
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx
index 9ceca5cb53dd..c15b671cd8b2 100644
--- a/include/vcl/builder.hxx
+++ b/include/vcl/builder.hxx
@@ -376,7 +376,9 @@ private:
 
     void        handleSizeGroup(xmlreader::XmlReader &reader);
 
-    void        handleAtkObject(xmlreader::XmlReader &reader, vcl::Window *pWindow);
+    stringmap   handleAtkObject(xmlreader::XmlReader &reader);
+
+    static void applyAtkProperties(vcl::Window *pWindow, const stringmap& rProperties);
 
     void        handleActionWidget(xmlreader::XmlReader &reader);
 
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 020ea6c5f74c..1b2f0aef2263 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -3087,15 +3087,13 @@ void VclBuilder::handleListStore(xmlreader::XmlReader &reader, const OString &rI
     }
 }
 
-void VclBuilder::handleAtkObject(xmlreader::XmlReader &reader, vcl::Window *pWindow)
+VclBuilder::stringmap VclBuilder::handleAtkObject(xmlreader::XmlReader &reader)
 {
-    assert(pWindow);
-
     int nLevel = 1;
 
     stringmap aProperties;
 
-    while(true)
+    while (true)
     {
         xmlreader::Span name;
         int nsId;
@@ -3122,7 +3120,13 @@ void VclBuilder::handleAtkObject(xmlreader::XmlReader &reader, vcl::Window *pWin
             break;
     }
 
-    for (auto const& prop : aProperties)
+    return aProperties;
+}
+
+void VclBuilder::applyAtkProperties(vcl::Window *pWindow, const stringmap& rProperties)
+{
+    assert(pWindow);
+    for (auto const& prop : rProperties)
     {
         const OString &rKey = prop.first;
         const OUString &rValue = prop.second;
@@ -3620,7 +3624,8 @@ VclPtr<vcl::Window> VclBuilder::handleObject(vcl::Window *pParent, xmlreader::Xm
     }
     else if (sClass == "AtkObject")
     {
-        handleAtkObject(reader, pParent);
+        auto aAtkProperties = handleAtkObject(reader);
+        applyAtkProperties(pParent, aAtkProperties);
         return nullptr;
     }
 


More information about the Libreoffice-commits mailing list