summaryrefslogtreecommitdiffstats
path: root/sd/source/ui/slidesorter/controller/SlsListener.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/slidesorter/controller/SlsListener.cxx')
-rw-r--r--sd/source/ui/slidesorter/controller/SlsListener.cxx13
1 files changed, 8 insertions, 5 deletions
diff --git a/sd/source/ui/slidesorter/controller/SlsListener.cxx b/sd/source/ui/slidesorter/controller/SlsListener.cxx
index fc4f14039538..9c51643b2b49 100644
--- a/sd/source/ui/slidesorter/controller/SlsListener.cxx
+++ b/sd/source/ui/slidesorter/controller/SlsListener.cxx
@@ -72,7 +72,10 @@ Listener::Listener (
mbListeningToUNODocument (false),
mbListeningToController (false),
mbListeningToFrame (false),
- mbIsMainViewChangePending(false)
+ mbIsMainViewChangePending(false),
+ mxControllerWeak(),
+ mxFrameWeak(),
+ mpModelChangeLock()
{
StartListening (*mrSlideSorter.GetModel().GetDocument());
mbListeningToDocument = true;
@@ -328,13 +331,13 @@ void Listener::Notify (
case ViewShellHint::HINT_PAGE_RESIZE_START:
// Initiate a model change but do nothing (well, not much)
// until we are told that all slides have been resized.
- mrController.LockModelChange();
+ mpModelChangeLock.reset(new SlideSorterController::ModelChangeLock(mrController));
mrController.HandleModelChange();
break;
case ViewShellHint::HINT_PAGE_RESIZE_END:
// All slides have been resized. The model has to be updated.
- mrController.UnlockModelChange();
+ mpModelChangeLock.reset();
break;
case ViewShellHint::HINT_CHANGE_EDIT_MODE_START:
@@ -346,11 +349,11 @@ void Listener::Notify (
break;
case ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_START:
- mrController.LockModelChange();
+ mpModelChangeLock.reset(new SlideSorterController::ModelChangeLock(mrController));
break;
case ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_END:
- mrController.UnlockModelChange();
+ mpModelChangeLock.reset();
break;
}
}