summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-03-16 23:20:26 +0100
committerFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-03-16 23:20:26 +0100
commitfb8dece549d03eba2490963b12c5937d01140d78 (patch)
treea1d145dea66277a8ef184cdfa9a041f02ff46624 /svtools
parentd3941cf72f8d418ad88913bd911f930f835ca7c8 (diff)
slidecopy: SetLayouter: properly destroy the old layouter
Diffstat (limited to 'svtools')
-rw-r--r--svtools/source/toolpanel/toolpaneldeck.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/svtools/source/toolpanel/toolpaneldeck.cxx b/svtools/source/toolpanel/toolpaneldeck.cxx
index 22d8dc7d57a5..6f5a8ad6fa19 100644
--- a/svtools/source/toolpanel/toolpaneldeck.cxx
+++ b/svtools/source/toolpanel/toolpaneldeck.cxx
@@ -33,6 +33,8 @@
#include "svtools/toolpanel/toolpaneldeck.hxx"
#include "svtools/toolpanel/tablayouter.hxx"
+#include <tools/diagnose_ex.h>
+
#include <boost/optional.hpp>
//........................................................................
@@ -131,9 +133,11 @@ namespace svt
//--------------------------------------------------------------------
void ToolPanelDeck_Impl::SetLayouter( const PDeckLayouter& i_pNewLayouter )
{
- OSL_ENSURE( i_pNewLayouter.get(), "ToolPanelDeck_Impl::SetLayouter: invalid layouter!" );
- if ( !i_pNewLayouter.get() )
- return;
+ ENSURE_OR_RETURN_VOID( i_pNewLayouter.get(), "invalid layouter" );
+
+ if ( m_pLayouter.get() )
+ m_pLayouter->Destroy();
+
m_pLayouter = i_pNewLayouter;
ImplDoLayout();