[Libreoffice-commits] core.git: 2 commits - cui/source sfx2/source

Caolán McNamara caolanm at redhat.com
Mon May 19 08:36:45 PDT 2014


 cui/source/options/treeopt.cxx |   11 +++++++++++
 sfx2/source/bastyp/fltfnc.cxx  |   24 ++++++++++++++++++++----
 2 files changed, 31 insertions(+), 4 deletions(-)

New commits:
commit 98019536daeac4c136ce9b327545a27da6dbb2e0
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon May 19 16:35:40 2014 +0100

    Resolves: fdo#58170 use selected tab page helpid as final fallback
    
    Change-Id: I73a064a40476f685dbf19097115bd48c5cc0f578

diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx
index 14dcccb..2899037 100644
--- a/cui/source/options/treeopt.cxx
+++ b/cui/source/options/treeopt.cxx
@@ -1189,6 +1189,17 @@ void OfaTreeOptionsDialog::SelectHdl_Impl()
         // then set the focus to the new page or if we are on a group set the focus to the options treebox
         pNewPage ? pNewPage->GrabFocus() : pBox->GrabFocus();
 
+    //fdo#58170 use current page's layout child HelpId, unless there isn't a
+    //current page
+    OUString sHelpId(HID_OFADLG_TREELISTBOX);
+    if (::isLayoutEnabled(pNewPage))
+    {
+        Window *pFirstChild = pNewPage->GetWindow(WINDOW_FIRSTCHILD);
+        assert(pFirstChild);
+        sHelpId = pFirstChild->GetHelpId();
+    }
+    pBox->SetHelpId(sHelpId);
+
     return;
 }
 
commit c5e114c00cccb1b98dac7cb96de21e4ba53647c2
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon May 19 15:21:04 2014 +0100

    valgrind: memory leak
    
    Change-Id: Ica30df49caf79117bbce36ec461ec5ef37bef20c

diff --git a/sfx2/source/bastyp/fltfnc.cxx b/sfx2/source/bastyp/fltfnc.cxx
index 2105c66..072ded5c 100644
--- a/sfx2/source/bastyp/fltfnc.cxx
+++ b/sfx2/source/bastyp/fltfnc.cxx
@@ -112,7 +112,25 @@ using namespace com::sun::star;
 namespace
 {
     class theSfxFilterListener : public rtl::Static<SfxFilterListener, theSfxFilterListener> {};
-    class theSfxFilterArray : public rtl::Static<SfxFilterList_Impl, theSfxFilterArray > {};
+    class SfxFilterArray
+    {
+        SfxFilterList_Impl aList;
+    public:
+        ~SfxFilterArray()
+        {
+            SfxFilterList_Impl::iterator aEnd = aList.end();
+            for (SfxFilterList_Impl::iterator aI = aList.begin(); aI != aEnd; ++aI)
+            {
+                SfxFilter *pFilter = *aI;
+                delete pFilter;
+            }
+        }
+        SfxFilterList_Impl *getList()
+        {
+            return &aList;
+        }
+    };
+    class theSfxFilterArray : public rtl::Static<SfxFilterArray, theSfxFilterArray > {};
 }
 
 static SfxFilterList_Impl* pFilterArr = 0;
@@ -120,17 +138,15 @@ static bool bFirstRead = true;
 
 static void CreateFilterArr()
 {
-    pFilterArr = &theSfxFilterArray::get();
+    pFilterArr = theSfxFilterArray::get().getList();
     theSfxFilterListener::get();
 }
 
-
 inline OUString ToUpper_Impl( const OUString &rStr )
 {
     return SvtSysLocale().GetCharClass().uppercase( rStr );
 }
 
-
 class SfxFilterContainer_Impl
 {
 public:


More information about the Libreoffice-commits mailing list