diff options
Diffstat (limited to 'sd/source/ui/slidesorter/controller/SlsListener.cxx')
-rw-r--r-- | sd/source/ui/slidesorter/controller/SlsListener.cxx | 13 |
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; } } |