summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-08-22 11:46:50 +0100
committerMiklos Vajna <vmiklos@suse.cz>2013-01-10 09:56:42 +0000
commit72980e72a2d380d5e5a9c7b56a8df0a3ac1e93d0 (patch)
treea58b07604358676702b382531e196b069775f037
parent89964f8e4f439bcd4b023ef8fd45bfacff01bd5d (diff)
Resolves: fdo#45911 rhbz#846775 Clipboard must be disposed before Selection
(cherry picked from commit 7887a4e0adb0d60e6b013808dc27eccddd1c0324) Change-Id: I968bc6da85cd444d504b08f85300a1fe251cdeee Reviewed-on: https://gerrit.libreoffice.org/1612 Reviewed-by: Tor Lillqvist <tml@iki.fi> Tested-by: Tor Lillqvist <tml@iki.fi>
-rw-r--r--sd/source/ui/slidesorter/controller/SlideSorterController.cxx5
-rw-r--r--sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx2
2 files changed, 4 insertions, 3 deletions
diff --git a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
index 2932e202f188..7ab51b4f93c5 100644
--- a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
+++ b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
@@ -110,10 +110,10 @@ SlideSorterController::SlideSorterController (SlideSorter& rSlideSorter)
mpPageSelector(),
mpFocusManager(),
mpSlotManager(),
- mpClipboard(),
mpScrollBarManager(),
mpCurrentSlideManager(),
mpSelectionManager(),
+ mpClipboard(),
mpInsertionIndicatorHandler(new InsertionIndicatorHandler(rSlideSorter)),
mpAnimator(new Animator(rSlideSorter)),
mpVisibleAreaManager(new VisibleAreaManager(rSlideSorter)),
@@ -156,9 +156,9 @@ void SlideSorterController::Init (void)
mpPageSelector.reset(new PageSelector(mrSlideSorter));
mpFocusManager.reset(new FocusManager(mrSlideSorter));
mpSlotManager.reset(new SlotManager(mrSlideSorter));
- mpClipboard.reset(new Clipboard(mrSlideSorter));
mpScrollBarManager.reset(new ScrollBarManager(mrSlideSorter));
mpSelectionManager.reset(new SelectionManager(mrSlideSorter));
+ mpClipboard.reset(new Clipboard(mrSlideSorter));
mpScrollBarManager->LateInitialization();
@@ -202,6 +202,7 @@ SlideSorterController::~SlideSorterController (void)
void SlideSorterController::Dispose (void)
{
mpInsertionIndicatorHandler->End(Animator::AM_Immediate);
+ mpClipboard.reset();
mpSelectionManager.reset();
mpAnimator->Dispose();
}
diff --git a/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx b/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
index e962623be4ed..c5154806b9ed 100644
--- a/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
+++ b/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
@@ -245,10 +245,10 @@ private:
::boost::scoped_ptr<PageSelector> mpPageSelector;
::boost::scoped_ptr<FocusManager> mpFocusManager;
::boost::shared_ptr<SlotManager> mpSlotManager;
- ::boost::scoped_ptr<controller::Clipboard> mpClipboard;
::boost::scoped_ptr<ScrollBarManager> mpScrollBarManager;
mutable ::boost::shared_ptr<CurrentSlideManager> mpCurrentSlideManager;
::boost::shared_ptr<SelectionManager> mpSelectionManager;
+ ::boost::scoped_ptr<controller::Clipboard> mpClipboard;
::boost::shared_ptr<InsertionIndicatorHandler> mpInsertionIndicatorHandler;
::boost::shared_ptr<Animator> mpAnimator;
::boost::scoped_ptr<VisibleAreaManager> mpVisibleAreaManager;