summaryrefslogtreecommitdiff
path: root/gtk/gtkpaned.c
diff options
context:
space:
mode:
authorTim Janik <timj@src.gnome.org>1998-01-30 23:47:09 +0000
committerTim Janik <timj@src.gnome.org>1998-01-30 23:47:09 +0000
commit4af33fa24df69f335f07f43e5904a766c8d8ec97 (patch)
treeccc23ba16332f44ae45418f6cf9580036c4c76da /gtk/gtkpaned.c
parentee7038f9fddd0213c65474e5d59609107caed7c6 (diff)
downloadgtk+-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.c42
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