diff options
Diffstat (limited to 'widgets/misc')
-rw-r--r-- | widgets/misc/e-canvas.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/widgets/misc/e-canvas.c b/widgets/misc/e-canvas.c index e5b0b78bcd..b1d499f521 100644 --- a/widgets/misc/e-canvas.c +++ b/widgets/misc/e-canvas.c @@ -1091,6 +1091,14 @@ grab_cancelled_check (gpointer data) { ECanvas *canvas = data; + if (GNOME_CANVAS (canvas)->grabbed_item == NULL) { + canvas->grab_cancelled_cb = NULL; + canvas->grab_cancelled_check_id = 0; + canvas->grab_cancelled_time = 0; + canvas->grab_cancelled_data = NULL; + return FALSE; + } + if (gtk_grab_get_current ()) { gnome_canvas_item_ungrab(GNOME_CANVAS (canvas)->grabbed_item, canvas->grab_cancelled_time); if (canvas->grab_cancelled_cb) { |