cui/source/customize/eventdlg.cxx |   12 ++++++++++++
 cui/source/customize/macropg.cxx  |   10 ----------
 2 files changed, 12 insertions(+), 10 deletions(-)

New commits:
commit 4ca5536f008d1503a9c9fa8b65150baeb92e4b4c
Author: Kohei Yoshida <kohei.yosh...@collabora.com>
Date:   Thu Jan 30 20:16:12 2014 -0500

    fdo#74252: Fix crash on exit with the customize dialog.
    
    pEventLB gets accessed after it's been deleted. Moving the code that
    accesses it to before it gets deleted fixes the crash.
    
    Change-Id: If559fe3ea7dd76a3394d0aa7c18c9329188aa17f

diff --git a/cui/source/customize/eventdlg.cxx 
b/cui/source/customize/eventdlg.cxx
index 02888d3..dd61fc2 100644
--- a/cui/source/customize/eventdlg.cxx
+++ b/cui/source/customize/eventdlg.cxx
@@ -39,6 +39,7 @@
 #include <sfx2/docfac.hxx>
 #include <sfx2/fcontnr.hxx>
 #include <unotools/eventcfg.hxx>
+#include <svtools/treelistentry.hxx>
 
 #include "headertablistbox.hxx"
 #include "macropg_impl.hxx"
@@ -108,7 +109,18 @@ void SvxEventConfigPage::LateInit( const uno::Reference< 
frame::XFrame >& _rxFra
 
 SvxEventConfigPage::~SvxEventConfigPage()
 {
+    // need to delete the user data
+    SvHeaderTabListBox& rListBox = mpImpl->pEventLB->GetListBox();
+    SvTreeListEntry* pE = rListBox.GetEntry( 0 );
+    while( pE )
+    {
+        OUString* pEventName = (OUString*)pE->GetUserData();
+        delete pEventName;
+        pE->SetUserData((void*)0);
+        pE = rListBox.NextSibling( pE );
+    }
     delete mpImpl->pEventLB;
+
     delete mpImpl->pAssignFT;
     delete mpImpl->pAssignPB;
     delete mpImpl->pDeletePB;
diff --git a/cui/source/customize/macropg.cxx b/cui/source/customize/macropg.cxx
index 99b962f..9f0fe1d 100644
--- a/cui/source/customize/macropg.cxx
+++ b/cui/source/customize/macropg.cxx
@@ -250,16 +250,6 @@ _SvxMacroTabPage::_SvxMacroTabPage(Window* pParent, const 
OString& rID,
 
 _SvxMacroTabPage::~_SvxMacroTabPage()
 {
-    // need to delete the user data
-    SvHeaderTabListBox& rListBox = mpImpl->pEventLB->GetListBox();
-    SvTreeListEntry* pE = rListBox.GetEntry( 0 );
-    while( pE )
-    {
-        OUString* pEventName = (OUString*)pE->GetUserData();
-        delete pEventName;
-        pE->SetUserData((void*)0);
-        pE = rListBox.NextSibling( pE );
-    }
     DELETEZ( mpImpl );
 }
 // 
-----------------------------------------------------------------------------
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to