aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc/e-canvas.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/misc/e-canvas.c')
-rw-r--r--widgets/misc/e-canvas.c8
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) {