[Libreoffice-commits] core.git: cui/source
Kohei Yoshida
kohei.yoshida at collabora.com
Thu Jan 30 17:16:28 PST 2014
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.yoshida at 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 );
}
// -----------------------------------------------------------------------------
More information about the Libreoffice-commits
mailing list