summaryrefslogtreecommitdiff
path: root/gtk/gtkmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkmain.c')
-rw-r--r--gtk/gtkmain.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 7bb9eae7b6..f492b3b2b3 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -1841,6 +1841,7 @@ gtk_main_do_event (GdkEvent *event)
break;
case GDK_DELETE:
+ case GDK_DESTROY:
g_object_ref (target_widget);
if (!gtk_window_group_get_current_grab (window_group) ||
GTK_WIDGET (gtk_widget_get_root (gtk_window_group_get_current_grab (window_group))) == target_widget)
@@ -1852,20 +1853,6 @@ gtk_main_do_event (GdkEvent *event)
g_object_unref (target_widget);
break;
- case GDK_DESTROY:
- /* Unexpected GDK_DESTROY from the outside, ignore for
- * child windows, handle like a GDK_DELETE for toplevels
- */
- if (!gtk_widget_get_parent (target_widget))
- {
- g_object_ref (target_widget);
- if (!gtk_widget_event (target_widget, event) &&
- gtk_widget_get_realized (target_widget))
- gtk_widget_destroy (target_widget);
- g_object_unref (target_widget);
- }
- break;
-
case GDK_FOCUS_CHANGE:
case GDK_GRAB_BROKEN:
if (!_gtk_widget_captured_event (target_widget, event))