diff options
author | Tim Janik <timj@gtk.org> | 2000-02-08 09:03:51 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2000-02-08 09:03:51 +0000 |
commit | c39a5a1c6f599f177dc366f454d05a410591b378 (patch) | |
tree | fcd28c288cbd0ae258ab385eb2957ab68c23dd30 | |
parent | 319b25908b38c875a7a4797b16aa9a20c7662bff (diff) | |
download | gdk-pixbuf-c39a5a1c6f599f177dc366f454d05a410591b378.tar.gz |
guard widget access with ref/unref around signal emission.
Tue Feb 8 09:38:29 2000 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c:
(gtk_widget_unrealize): guard widget access with ref/unref
around signal emission.
(gtk_widget_hide): same here, but also check its destroyed
state before queueing a resize.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-0 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 8 | ||||
-rw-r--r-- | gtk/gtkwidget.c | 6 |
8 files changed, 61 insertions, 1 deletions
@@ -1,3 +1,11 @@ +Tue Feb 8 09:38:29 2000 Tim Janik <timj@gtk.org> + + * gtk/gtkwidget.c: + (gtk_widget_unrealize): guard widget access with ref/unref + around signal emission. + (gtk_widget_hide): same here, but also check its destroyed + state before queueing a resize. + Tue Feb 8 03:05:55 2000 Tim Janik <timj@gtk.org> * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 6f4a6df93..f1dd2b282 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,11 @@ +Tue Feb 8 09:38:29 2000 Tim Janik <timj@gtk.org> + + * gtk/gtkwidget.c: + (gtk_widget_unrealize): guard widget access with ref/unref + around signal emission. + (gtk_widget_hide): same here, but also check its destroyed + state before queueing a resize. + Tue Feb 8 03:05:55 2000 Tim Janik <timj@gtk.org> * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 6f4a6df93..f1dd2b282 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Tue Feb 8 09:38:29 2000 Tim Janik <timj@gtk.org> + + * gtk/gtkwidget.c: + (gtk_widget_unrealize): guard widget access with ref/unref + around signal emission. + (gtk_widget_hide): same here, but also check its destroyed + state before queueing a resize. + Tue Feb 8 03:05:55 2000 Tim Janik <timj@gtk.org> * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 6f4a6df93..f1dd2b282 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,11 @@ +Tue Feb 8 09:38:29 2000 Tim Janik <timj@gtk.org> + + * gtk/gtkwidget.c: + (gtk_widget_unrealize): guard widget access with ref/unref + around signal emission. + (gtk_widget_hide): same here, but also check its destroyed + state before queueing a resize. + Tue Feb 8 03:05:55 2000 Tim Janik <timj@gtk.org> * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 6f4a6df93..f1dd2b282 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Tue Feb 8 09:38:29 2000 Tim Janik <timj@gtk.org> + + * gtk/gtkwidget.c: + (gtk_widget_unrealize): guard widget access with ref/unref + around signal emission. + (gtk_widget_hide): same here, but also check its destroyed + state before queueing a resize. + Tue Feb 8 03:05:55 2000 Tim Janik <timj@gtk.org> * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 6f4a6df93..f1dd2b282 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Tue Feb 8 09:38:29 2000 Tim Janik <timj@gtk.org> + + * gtk/gtkwidget.c: + (gtk_widget_unrealize): guard widget access with ref/unref + around signal emission. + (gtk_widget_hide): same here, but also check its destroyed + state before queueing a resize. + Tue Feb 8 03:05:55 2000 Tim Janik <timj@gtk.org> * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 6f4a6df93..f1dd2b282 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Tue Feb 8 09:38:29 2000 Tim Janik <timj@gtk.org> + + * gtk/gtkwidget.c: + (gtk_widget_unrealize): guard widget access with ref/unref + around signal emission. + (gtk_widget_hide): same here, but also check its destroyed + state before queueing a resize. + Tue Feb 8 03:05:55 2000 Tim Janik <timj@gtk.org> * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 4049826f5..6407ab504 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -1509,9 +1509,11 @@ gtk_widget_hide (GtkWidget *widget) if (GTK_WIDGET_VISIBLE (widget)) { + gtk_widget_ref (widget); gtk_signal_emit (GTK_OBJECT (widget), widget_signals[HIDE]); - if (!GTK_WIDGET_TOPLEVEL (widget)) + if (!GTK_WIDGET_TOPLEVEL (widget) && !GTK_OBJECT_DESTROYED (widget)) gtk_widget_queue_resize (widget); + gtk_widget_unref (widget); } } @@ -1694,8 +1696,10 @@ gtk_widget_unrealize (GtkWidget *widget) if (GTK_WIDGET_REALIZED (widget)) { + gtk_widget_ref (widget); gtk_signal_emit (GTK_OBJECT (widget), widget_signals[UNREALIZE]); GTK_WIDGET_UNSET_FLAGS (widget, GTK_REALIZED | GTK_MAPPED); + gtk_widget_unref (widget); } } |