sd/source/ui/slidesorter/controller/SlsListener.cxx |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit d9b36d3623ce5d88bfaca7a31426fa126a6ce4ac
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
    (cherry picked from commit a9e0c222f504104124485ef4684ce6f79d3dee52)
    Reviewed-on: https://gerrit.libreoffice.org/4813
    Reviewed-by: Fridrich Strba <fridr...@documentfoundation.org>
    Tested-by: Fridrich Strba <fridr...@documentfoundation.org>

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

Reply via email to