summaryrefslogtreecommitdiffstats
path: root/src/ui/tools/select-tool.cpp
diff options
context:
space:
mode:
authorJabiertxof <jabier.arraiza@marker.es>2019-10-28 15:56:06 +0000
committerJabiertxof <jabier.arraiza@marker.es>2019-10-28 15:56:06 +0000
commita226c6d04a8b96e9bb8ed1d593780ef77808b344 (patch)
tree5114d05b576a479ac1355f1d46e241cbf298d8c4 /src/ui/tools/select-tool.cpp
parentUpdate Russian translation (diff)
downloadinkscape-a226c6d04a8b96e9bb8ed1d593780ef77808b344.tar.gz
inkscape-a226c6d04a8b96e9bb8ed1d593780ef77808b344.zip
Fix some blurs iddle large loops
Diffstat (limited to 'src/ui/tools/select-tool.cpp')
-rw-r--r--src/ui/tools/select-tool.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/ui/tools/select-tool.cpp b/src/ui/tools/select-tool.cpp
index 6d5fdd2b9..2627f2e9a 100644
--- a/src/ui/tools/select-tool.cpp
+++ b/src/ui/tools/select-tool.cpp
@@ -328,8 +328,7 @@ bool SelectTool::item_handler(SPItem* item, GdkEvent* event) {
nullptr, event->button.time);
this->grabbed = SP_CANVAS_ITEM(desktop->drawing);
-
- desktop->canvas->forceFullRedrawAfterInterruptions(5);
+ desktop->canvas->endForcedFullRedraws();
ret = TRUE;
}
@@ -338,6 +337,7 @@ bool SelectTool::item_handler(SPItem* item, GdkEvent* event) {
this->sp_select_context_abort();
}
break;
+
case GDK_ENTER_NOTIFY: {
if (!desktop->isWaitingCursor() && !this->dragging) {
@@ -490,7 +490,7 @@ bool SelectTool::root_handler(GdkEvent* event) {
this->dragging = false;
sp_event_context_discard_delayed_snap_event(this);
- desktop->canvas->endForcedFullRedraws();
+
} else { // switch tool
Geom::Point const button_pt(event->button.x, event->button.y);
Geom::Point const p(desktop->w2d(button_pt));
@@ -641,8 +641,9 @@ bool SelectTool::root_handler(GdkEvent* event) {
} else {
this->dragging = FALSE;
sp_event_context_discard_delayed_snap_event(this);
- desktop->canvas->endForcedFullRedraws();
+
}
+
} else {
if (Inkscape::Rubberband::get(desktop)->is_started()) {
Inkscape::Rubberband::get(desktop)->move(p);
@@ -656,6 +657,9 @@ bool SelectTool::root_handler(GdkEvent* event) {
gobble_motion_events(GDK_BUTTON1_MASK);
}
}
+ if (this->button_press_ctrl || (this->button_press_alt && !this->button_press_shift && !selection->isEmpty())) {
+ desktop->canvas->endForcedFullRedraws();
+ }
}
break;
}
@@ -704,7 +708,6 @@ bool SelectTool::root_handler(GdkEvent* event) {
gdk_window_set_cursor(window, CursorSelectMouseover);
sp_event_context_discard_delayed_snap_event(this);
- desktop->canvas->endForcedFullRedraws();
if (this->item) {
sp_object_unref( this->item, nullptr);
@@ -790,6 +793,7 @@ bool SelectTool::root_handler(GdkEvent* event) {
ret = TRUE;
}
+ desktop->canvas->endForcedFullRedraws();
if (this->grabbed) {
sp_canvas_item_ungrab(this->grabbed);