From 29e005620b05165ffd5ad21c2a9751adac89d34a Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Tue, 21 Jan 2014 10:21:10 -0500 Subject: Move dragging undo block from tools-base to canvas. Regarding bug #168695 (bzr r12967) --- src/display/sp-canvas.cpp | 5 +++++ src/display/sp-canvas.h | 1 + 2 files changed, 6 insertions(+) (limited to 'src/display') diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index 455f628bc..ff58cf453 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -1545,6 +1545,11 @@ int SPCanvasImpl::emitEvent(SPCanvas *canvas, GdkEvent *event) default: break; } + // Block Undo and Redo while we drag /anything/ + if(event->type == GDK_BUTTON_PRESS) + canvas->is_dragging = true; + else if(event->type == GDK_BUTTON_RELEASE) + canvas->is_dragging = false; // Choose where we send the event diff --git a/src/display/sp-canvas.h b/src/display/sp-canvas.h index b570b739e..72ae4b6bc 100644 --- a/src/display/sp-canvas.h +++ b/src/display/sp-canvas.h @@ -124,6 +124,7 @@ struct SPCanvas { SPCanvasItem *root; + bool is_dragging; double dx0; double dy0; int x0; -- cgit v1.2.3 From 11ae816a74c061c219a4d833b58e6f940a53fff5 Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Wed, 22 Jan 2014 22:21:57 -0500 Subject: Make sure we're not interfering with right or middle click with undo prevention bug #168695 (bzr r12974) --- src/display/sp-canvas.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/display') diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index ff58cf453..d9640f763 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -1546,7 +1546,7 @@ int SPCanvasImpl::emitEvent(SPCanvas *canvas, GdkEvent *event) break; } // Block Undo and Redo while we drag /anything/ - if(event->type == GDK_BUTTON_PRESS) + if(event->type == GDK_BUTTON_PRESS && event->button.button == 1) canvas->is_dragging = true; else if(event->type == GDK_BUTTON_RELEASE) canvas->is_dragging = false; -- cgit v1.2.3