From 0c488af786ad357b81b1b1de46cb792a1c4d0a18 Mon Sep 17 00:00:00 2001 From: buliabyak Date: Wed, 28 Jan 2009 23:34:37 +0000 Subject: [PATCH] do not change cursor if desktop has set it to waiting --- src/select-context.cpp | 16 ++++++++++------ 1 file 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) _("Shift: click to toggle select; drag for rubberband selection"), _("Alt: 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; -- 2.30.2