diff options
author | Caolán McNamara <caolanm@redhat.com> | 2012-08-22 11:46:50 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2013-01-10 09:56:42 +0000 |
commit | 72980e72a2d380d5e5a9c7b56a8df0a3ac1e93d0 (patch) | |
tree | a58b07604358676702b382531e196b069775f037 | |
parent | 89964f8e4f439bcd4b023ef8fd45bfacff01bd5d (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.cxx | 5 | ||||
-rw-r--r-- | sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx | 2 |
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; |