summaryrefslogtreecommitdiff
path: root/gtk/gtkmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkmain.c')
-rw-r--r--gtk/gtkmain.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index c28c134f67..becef2c4c7 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -722,8 +722,8 @@ gtk_main_do_event (GdkEvent *event)
case GDK_DELETE:
gtk_widget_ref (event_widget);
- if (!gtk_widget_event (event_widget, event) &&
- !GTK_OBJECT_DESTROYED (event_widget))
+ if ((!grabs || gtk_widget_get_toplevel (grabs->data) == event_widget) &&
+ !gtk_widget_event (event_widget, event))
gtk_widget_destroy (event_widget);
gtk_widget_unref (event_widget);
break;