sd/source/ui/view/drviews2.cxx |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 64c8c76a1dca96cb2ceed2aced8ff4e5efd60aa9
Author: Takeshi Abe <[email protected]>
Date:   Fri May 26 23:16:57 2017 +0900

    tdf#108024 Keep original selection during DrawViewShell::FuTemporary()
    
    Otherwise it was disposed in the middle of its own mouse event handler
    FuSelection::MouseButtonUp().
    
    Change-Id: I0d96048526dece7232e5a777364ad4da1d64c904
    Reviewed-on: https://gerrit.libreoffice.org/37976
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Noel Grandin <[email protected]>
    (cherry picked from commit 96d59ffc572c4cf112405a85aee3366d45bc7757)
    Reviewed-on: https://gerrit.libreoffice.org/38302
    Tested-by: Noel Grandin <[email protected]>

diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
index 68f0e38f5848..1dc6eb853fc1 100644
--- a/sd/source/ui/view/drviews2.cxx
+++ b/sd/source/ui/view/drviews2.cxx
@@ -1110,7 +1110,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
             // Set the selection tool as the old one. This in particular 
important for the
             // zoom function, in which clicking without dragging zooms as 
well, and that
             // makes exiting the object editing mode impossible.
-            SetOldFunction( FuSelection::Create( this, GetActiveWindow(), 
mpDrawView, GetDoc(), rReq ) );
+            if (dynamic_cast<FuSelection*>( GetOldFunction().get() ) == 
nullptr)
+                SetOldFunction( FuSelection::Create( this, GetActiveWindow(), 
mpDrawView, GetDoc(), rReq ) );
             Cancel();
             rReq.Ignore ();
         }
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to