summaryrefslogtreecommitdiffstats
path: root/src/select-context.cpp
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2009-01-28 23:34:37 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2009-01-28 23:34:37 +0000
commita5a595f84002495035268261c0a3c48480e859c7 (patch)
treee83335641a6540fe031f853815bdf203822fc373 /src/select-context.cpp
parentadd accessor for the waiting_cursor flag (sorry for the recompile) (diff)
downloadinkscape-a5a595f84002495035268261c0a3c48480e859c7.tar.gz
inkscape-a5a595f84002495035268261c0a3c48480e859c7.zip
do not change cursor if desktop has set it to waiting
(bzr r7202)
Diffstat (limited to 'src/select-context.cpp')
-rw-r--r--src/select-context.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/select-context.cpp b/src/select-context.cpp
index c7b305dd2..fd4e132e1 100644
--- a/src/select-context.cpp
+++ b/src/select-context.cpp
@@ -360,14 +360,17 @@ sp_select_context_item_handler(SPEventContext *event_context, SPItem *item, GdkE
case GDK_ENTER_NOTIFY:
{
- GdkCursor *cursor = gdk_cursor_new(GDK_FLEUR);
- gdk_window_set_cursor(GTK_WIDGET(sp_desktop_canvas(desktop))->window, cursor);
- gdk_cursor_destroy(cursor);
+ if (!desktop->isWaitingCursor()) {
+ GdkCursor *cursor = gdk_cursor_new(GDK_FLEUR);
+ gdk_window_set_cursor(GTK_WIDGET(sp_desktop_canvas(desktop))->window, cursor);
+ gdk_cursor_destroy(cursor);
+ }
break;
}
case GDK_LEAVE_NOTIFY:
- gdk_window_set_cursor(GTK_WIDGET(sp_desktop_canvas(desktop))->window, event_context->cursor);
+ if (!desktop->isWaitingCursor())
+ gdk_window_set_cursor(GTK_WIDGET(sp_desktop_canvas(desktop))->window, event_context->cursor);
break;
case GDK_KEY_PRESS:
@@ -713,7 +716,7 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
_("<b>Shift</b>: click to toggle select; drag for rubberband selection"),
_("<b>Alt</b>: click to select under; drag to move selected or select by touch"));
// if Alt and nonempty selection, show moving cursor ("move selected"):
- if (alt && !selection->isEmpty()) {
+ if (alt && !selection->isEmpty() && !desktop->isWaitingCursor()) {
GdkCursor *cursor = gdk_cursor_new(GDK_FLEUR);
gdk_window_set_cursor(GTK_WIDGET(sp_desktop_canvas(desktop))->window, cursor);
gdk_cursor_destroy(cursor);
@@ -935,7 +938,8 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
}
}
// set cursor to default.
- gdk_window_set_cursor(GTK_WIDGET(sp_desktop_canvas(desktop))->window, event_context->cursor);
+ if (!desktop->isWaitingCursor())
+ gdk_window_set_cursor(GTK_WIDGET(sp_desktop_canvas(desktop))->window, event_context->cursor);
break;
default:
break;