summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-05-13 16:07:55 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-05-13 16:13:01 +0100
commit130f8eef234c6f44798d597814a0debc202fe8cc (patch)
treef3ceb78ed33102fda18e59494c9fd8dc721a40a8
parent07794b4c221dceb06da4d4b3fd7e3678457663af (diff)
Related: tdf#99523 two undo actions listed after dragging a slide
to a new place. "Delete Slides" and "Drag and Drop Slides", there should only be the "Drag and Drop Slides" shown. There is one more EndUndo than StartUndo. The extra one is the last one of View::DragFinished. I surmise that this is meant to match the BegUndo of View::StartDrag which is not called in this situation. This doesn't fix tdf#99523, but its the first thing I noticed, so fix that first. Change-Id: I3c31a3cfe83f28892112568bacfb25294366d6cf
-rw-r--r--sd/source/ui/view/sdview2.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/sd/source/ui/view/sdview2.cxx b/sd/source/ui/view/sdview2.cxx
index ce67bfe644da..e51bc6071c91 100644
--- a/sd/source/ui/view/sdview2.cxx
+++ b/sd/source/ui/view/sdview2.cxx
@@ -427,7 +427,11 @@ void View::DragFinished( sal_Int8 nDropAction )
if( pDragTransferable )
pDragTransferable->SetInternalMove( false );
- if( bUndo )
+ //This Undo appears to matches with the STR_UNDO_DRAGDROP Undo Start of
+ //View::StartDrag But this DragFinished can be called without a matching
+ //StartDrag. So use the existence of mpDragSrcMarkList as a flag that
+ //this EndUndo has a matching BegUndo
+ if (bUndo && mpDragSrcMarkList)
EndUndo();
mnDragSrcPgNum = SDRPAGE_NOTFOUND;
delete mpDragSrcMarkList;