diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-03-16 23:20:26 +0100 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-03-16 23:20:26 +0100 |
commit | fb8dece549d03eba2490963b12c5937d01140d78 (patch) | |
tree | a1d145dea66277a8ef184cdfa9a041f02ff46624 /svtools | |
parent | d3941cf72f8d418ad88913bd911f930f835ca7c8 (diff) |
slidecopy: SetLayouter: properly destroy the old layouter
Diffstat (limited to 'svtools')
-rw-r--r-- | svtools/source/toolpanel/toolpaneldeck.cxx | 10 |
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(); |