sd/source/ui/slidesorter/controller/SlsListener.cxx | 7 +++++++ 1 file changed, 7 insertions(+)
New commits: commit a9e0c222f504104124485ef4684ce6f79d3dee52 Author: Michael Stahl <mst...@redhat.com> Date: Wed Jul 10 15:43:42 2013 +0200 rhbz#965646: sd: unregister slide sorter listener to avoid crashes sd::slidesorter::controller::Listener::Notify(): when the ~SdDrawDocument sends a HINT_MODELCLEARED, unregister since the document doesn't exist any more. This should hopefully avoids accessing a SfxViewShell instance that has apparently already been deleted somewhere in one of the listeners. Change-Id: I0ba9a58d77741a52b652a6c55c2327db80859011 diff --git a/sd/source/ui/slidesorter/controller/SlsListener.cxx b/sd/source/ui/slidesorter/controller/SlsListener.cxx index 17a8a14..e85a6c8 100644 --- a/sd/source/ui/slidesorter/controller/SlsListener.cxx +++ b/sd/source/ui/slidesorter/controller/SlsListener.cxx @@ -304,6 +304,13 @@ void Listener::Notify ( SdrHint& rSdrHint (*PTR_CAST(SdrHint,&rHint)); switch (rSdrHint.GetKind()) { + case HINT_MODELCLEARED: + if (&rBroadcaster == mrSlideSorter.GetModel().GetDocument()) + { // rhbz#965646 stop listening to dying document + EndListening(rBroadcaster); + return; + } + break; case HINT_PAGEORDERCHG: if (&rBroadcaster == mrSlideSorter.GetModel().GetDocument()) HandleModelChange(rSdrHint.GetPage()); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits