diff options
author | Tim Janik <timj@src.gnome.org> | 1998-01-30 23:47:09 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 1998-01-30 23:47:09 +0000 |
commit | 4af33fa24df69f335f07f43e5904a766c8d8ec97 (patch) | |
tree | ccc23ba16332f44ae45418f6cf9580036c4c76da /gtk/gtkpaned.c | |
parent | ee7038f9fddd0213c65474e5d59609107caed7c6 (diff) | |
download | gtk+-4af33fa24df69f335f07f43e5904a766c8d8ec97.tar.gz |
hm, initital refcount revolution commit ;)
still some gnits left, but keep working on it ;)
-timj
Diffstat (limited to 'gtk/gtkpaned.c')
-rw-r--r-- | gtk/gtkpaned.c | 42 |
1 files changed, 9 insertions, 33 deletions
diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c index cd4d3949a2..d47082c457 100644 --- a/gtk/gtkpaned.c +++ b/gtk/gtkpaned.c @@ -20,7 +20,6 @@ static void gtk_paned_class_init (GtkPanedClass *klass); static void gtk_paned_init (GtkPaned *paned); -static void gtk_paned_destroy (GtkObject *object); static void gtk_paned_realize (GtkWidget *widget); static void gtk_paned_map (GtkWidget *widget); static void gtk_paned_unmap (GtkWidget *widget); @@ -76,8 +75,6 @@ gtk_paned_class_init (GtkPanedClass *class) parent_class = gtk_type_class (gtk_container_get_type ()); - object_class->destroy = gtk_paned_destroy; - widget_class->realize = gtk_paned_realize; widget_class->map = gtk_paned_map; widget_class->unmap = gtk_paned_unmap; @@ -110,33 +107,6 @@ gtk_paned_init (GtkPaned *paned) static void -gtk_paned_destroy (GtkObject *object) -{ - GtkPaned *paned; - - g_return_if_fail (object != NULL); - g_return_if_fail (GTK_IS_PANED (object)); - - paned = GTK_PANED (object); - - if (paned->child1) - { - paned->child1->parent = NULL; - gtk_object_unref (GTK_OBJECT (paned->child1)); - gtk_widget_destroy (paned->child1); - } - if (paned->child2) - { - paned->child2->parent = NULL; - gtk_object_unref (GTK_OBJECT (paned->child2)); - gtk_widget_destroy (paned->child2); - } - - if (GTK_OBJECT_CLASS (parent_class)->destroy) - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); -} - -static void gtk_paned_realize (GtkWidget *widget) { GtkPaned *paned; @@ -174,6 +144,7 @@ gtk_paned_realize (GtkWidget *widget) gdk_window_raise (paned->handle); widget->window = gtk_widget_get_parent_window (widget); + gdk_window_ref (widget->window); widget->style = gtk_style_attach (widget->style, widget->window); gtk_style_set_background (widget->style, paned->handle, GTK_STATE_NORMAL); @@ -249,13 +220,18 @@ gtk_paned_unrealize (GtkWidget *widget) if (paned->handle) { + gdk_window_set_user_data (paned->handle, NULL); gdk_window_destroy (paned->handle); + paned->handle = NULL; gdk_cursor_destroy (paned->cursor); + paned->cursor = NULL; } - paned->handle = NULL; - paned->cursor = NULL; - widget->window = NULL; + if (widget->window) + { + gdk_window_unref (widget->window); + widget->window = NULL; + } } static gint |