From 15e64391aeed35e5c85876650fd8093f20958d8b Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Tue, 26 May 2015 13:08:20 +0200 Subject: tdf#91543 - TABLE DESIGN window menu option Close causes BASE to crash Change-Id: Ib169950f4e33dc71db66fd9a938838b568d2cc22 --- dbaccess/source/ui/control/FieldDescControl.cxx | 4 ++-- dbaccess/source/ui/tabledesign/TEditControl.cxx | 6 ++++++ dbaccess/source/ui/tabledesign/TEditControl.hxx | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/dbaccess/source/ui/control/FieldDescControl.cxx b/dbaccess/source/ui/control/FieldDescControl.cxx index ca610b1467da..d89e81afba57 100644 --- a/dbaccess/source/ui/control/FieldDescControl.cxx +++ b/dbaccess/source/ui/control/FieldDescControl.cxx @@ -208,8 +208,8 @@ void OFieldDescControl::dispose() m_pType.clear(); m_pAutoIncrementValue.clear(); pFormat.clear(); - m_pVertScroll.clear(); - m_pHorzScroll.clear(); + m_pVertScroll.disposeAndClear(); + m_pHorzScroll.disposeAndClear(); TabPage::dispose(); } diff --git a/dbaccess/source/ui/tabledesign/TEditControl.cxx b/dbaccess/source/ui/tabledesign/TEditControl.cxx index eb0c16fb4d3c..ba648963ba85 100644 --- a/dbaccess/source/ui/tabledesign/TEditControl.cxx +++ b/dbaccess/source/ui/tabledesign/TEditControl.cxx @@ -85,7 +85,11 @@ OTableEditorCtrl::ClipboardInvalidator::ClipboardInvalidator(sal_uLong nTimeout, OTableEditorCtrl::ClipboardInvalidator::~ClipboardInvalidator() { m_aInvalidateTimer.Stop(); +} +void OTableEditorCtrl::ClipboardInvalidator::Stop() +{ + m_aInvalidateTimer.Stop(); } IMPL_LINK_NOARG_TYPED(OTableEditorCtrl::ClipboardInvalidator, OnInvalidate, Timer *, void) @@ -260,6 +264,8 @@ void OTableEditorCtrl::dispose() // Reset the Undo-Manager GetUndoManager().Clear(); + m_aInvalidate.Stop(); + // Take possible Events from the queue if( nCutEvent ) Application::RemoveUserEvent( nCutEvent ); diff --git a/dbaccess/source/ui/tabledesign/TEditControl.hxx b/dbaccess/source/ui/tabledesign/TEditControl.hxx index bbd4d18e0184..b56e8d8bb666 100644 --- a/dbaccess/source/ui/tabledesign/TEditControl.hxx +++ b/dbaccess/source/ui/tabledesign/TEditControl.hxx @@ -76,6 +76,7 @@ namespace dbaui public: ClipboardInvalidator(sal_uLong nTimeout,OTableEditorCtrl*); ~ClipboardInvalidator(); + void Stop(); protected: DECL_LINK_TYPED(OnInvalidate, Timer*, void); -- cgit