]> Pileus Git - ~andy/gtk/commitdiff
Don't access the user data on destroyed windows, since at best it can be a
authorMatthias Clasen <mclasen@redhat.com>
Fri, 19 Aug 2005 16:46:57 +0000 (16:46 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 19 Aug 2005 16:46:57 +0000 (16:46 +0000)
2005-08-19  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkmain.c (gtk_get_event_widget): Don't access
the user data on destroyed windows, since at best
it can be a stale pointer.  (#313953, Robin Green)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gtk/gtkmain.c

index 64fa10f42b7ea7b40eafbe24e90807a83ab37e91..9d11ed4aa3bea342b367117c47b4a61babbd15d6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-08-19  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkmain.c (gtk_get_event_widget): Don't access
+       the user data on destroyed windows, since at best
+       it can be a stale pointer.  (#313953, Robin Green)      
+
 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.  
index 64fa10f42b7ea7b40eafbe24e90807a83ab37e91..9d11ed4aa3bea342b367117c47b4a61babbd15d6 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-19  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkmain.c (gtk_get_event_widget): Don't access
+       the user data on destroyed windows, since at best
+       it can be a stale pointer.  (#313953, Robin Green)      
+
 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.  
index 64fa10f42b7ea7b40eafbe24e90807a83ab37e91..9d11ed4aa3bea342b367117c47b4a61babbd15d6 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-19  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkmain.c (gtk_get_event_widget): Don't access
+       the user data on destroyed windows, since at best
+       it can be a stale pointer.  (#313953, Robin Green)      
+
 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.  
index fbf975cba8e2fe58fd1216c984cf77d1c0a4785a..bb0eecaaebac3092fe65747080050382e0c47396 100644 (file)
@@ -69,6 +69,8 @@
 #include "gtkdebug.h"
 #include "gtkalias.h"
 
+#include "gdk/gdkprivate.h" /* for GDK_WINDOW_DESTROYED */
+
 /* Private type definitions
  */
 typedef struct _GtkInitFunction                 GtkInitFunction;
@@ -2041,7 +2043,8 @@ gtk_get_event_widget (GdkEvent *event)
   GtkWidget *widget;
 
   widget = NULL;
-  if (event && event->any.window)
+  if (event && event->any.window && 
+      !GDK_WINDOW_DESTROYED (event->any.window))
     gdk_window_get_user_data (event->any.window, (void**) &widget);
   
   return widget;