diff options
| author | Jabiertxof <jabier.arraiza@marker.es> | 2019-07-29 08:51:48 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-07-31 05:03:14 +0000 |
| commit | d58cc5064f7e67517ab8db0fea830cf4aed8c9dc (patch) | |
| tree | 69751c397a494bae95c7bef4058337b8f538f32f /src/ui/tools/tool-base.cpp | |
| parent | Localization: Fix extraction of escaped XML characters. (diff) | |
| download | inkscape-d58cc5064f7e67517ab8db0fea830cf4aed8c9dc.tar.gz inkscape-d58cc5064f7e67517ab8db0fea830cf4aed8c9dc.zip | |
Final fix of issue https://gitlab.com/inkscape/inbox/issues/707 Object disappears on accidental R-click when dragging
Diffstat (limited to 'src/ui/tools/tool-base.cpp')
| -rw-r--r-- | src/ui/tools/tool-base.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/ui/tools/tool-base.cpp b/src/ui/tools/tool-base.cpp index 64dbf53bc..437160edb 100644 --- a/src/ui/tools/tool-base.cpp +++ b/src/ui/tools/tool-base.cpp @@ -115,6 +115,7 @@ ToolBase::ToolBase(gchar const *const *cursor_shape, bool uses_snap) , desktop(nullptr) , _uses_snap(uses_snap) , cursor_shape(cursor_shape) + , _leftbutton_pressed(false) { } @@ -375,6 +376,7 @@ bool ToolBase::root_handler(GdkEvent* event) { switch (event->button.button) { case 1: + this->_leftbutton_pressed = true; if (this->space_panning) { // When starting panning, make sure there are no snap events pending because these might disable the panning again if (_uses_snap) { @@ -442,7 +444,9 @@ bool ToolBase::root_handler(GdkEvent* event) { ret = TRUE; } else { - sp_event_root_menu_popup(desktop, nullptr, event); + if (!this->_leftbutton_pressed) { + sp_event_root_menu_popup(desktop, nullptr, event); + } } break; @@ -531,6 +535,9 @@ bool ToolBase::root_handler(GdkEvent* event) { case GDK_BUTTON_RELEASE: + if (event->button.button == 1) { + this->_leftbutton_pressed = false; + } xp = yp = 0; if (panning_cursor == 1) { |
