summaryrefslogtreecommitdiffstats
path: root/src/desktop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/desktop.cpp')
-rw-r--r--src/desktop.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp
index 932d79ff2..0a7f353a8 100644
--- a/src/desktop.cpp
+++ b/src/desktop.cpp
@@ -1275,14 +1275,9 @@ void SPDesktop::setWaitingCursor()
GdkCursor *waiting = gdk_cursor_new(GDK_WATCH);
gdk_window_set_cursor(GTK_WIDGET(sp_desktop_canvas(this))->window, waiting);
gdk_cursor_unref(waiting);
+ // GDK needs the flush for the cursor change to take effect
+ gdk_flush();
waiting_cursor = true;
-
- // Stupidly broken GDK cannot just set the new cursor right now - it needs some main loop iterations for that
- // Since setting waiting_cursor is usually immediately followed by some Real Work, we must run the iterations here
- // CAUTION: iterations may redraw, and redraw may be interrupted, so you cannot assume that anything is the same
- // after the call to setWaitingCursor as it was before
- while( Gtk::Main::events_pending() )
- Gtk::Main::iteration();
}
void SPDesktop::clearWaitingCursor()