diff --git a/gdl/gdl-dock-bar.c b/gdl/gdl-dock-bar.c
index 85d9e87..b6175bd 100644
--- a/gdl/gdl-dock-bar.c
+++ b/gdl/gdl-dock-bar.c
@@ -51,7 +51,7 @@ static void  gdl_dock_bar_set_property    (GObject         *object,
                                            const GValue    *value,
                                            GParamSpec      *pspec);
 
-static void  gdl_dock_bar_destroy         (GtkObject       *object);
+static void  gdl_dock_bar_destroy         (GtkWidget       *object);
 
 static void  gdl_dock_bar_attach          (GdlDockBar      *dockbar,
                                            GdlDockMaster   *master);
@@ -89,16 +89,14 @@ void
 gdl_dock_bar_class_init (GdlDockBarClass *klass)
 {
     GObjectClass       *g_object_class;
-    GtkObjectClass     *gtk_object_class;
     GtkWidgetClass     *widget_class;
     
     g_object_class = G_OBJECT_CLASS (klass);
-    gtk_object_class = GTK_OBJECT_CLASS (klass);
 
     g_object_class->get_property = gdl_dock_bar_get_property;
     g_object_class->set_property = gdl_dock_bar_set_property;
 
-    gtk_object_class->destroy = gdl_dock_bar_destroy;
+    widget_class->destroy = gdl_dock_bar_destroy;
 
     g_object_class_install_property (
         g_object_class, PROP_MASTER,
@@ -180,7 +178,7 @@ on_dock_item_foreach_disconnect (GdlDockItem *item, GdlDockBar *dock_bar)
 }
 
 static void
-gdl_dock_bar_destroy (GtkObject *object)
+gdl_dock_bar_destroy (GtkWidget *object)
 {
     GdlDockBar *dockbar = GDL_DOCK_BAR (object);
 
@@ -207,7 +205,7 @@ gdl_dock_bar_destroy (GtkObject *object)
         g_free (priv);
     }
     
-   GTK_OBJECT_CLASS (gdl_dock_bar_parent_class)->destroy (object);
+   GTK_WIDGET_CLASS (gdl_dock_bar_parent_class)->destroy (object);
 }
 
 static void
diff --git a/gdl/gdl-dock-item-button-image.c b/gdl/gdl-dock-item-button-image.c
index 31613a8..446df47 100644
--- a/gdl/gdl-dock-item-button-image.c
+++ b/gdl/gdl-dock-item-button-image.c
@@ -136,7 +136,6 @@ gdl_dock_item_button_image_class_init (
     GdlDockItemButtonImageClass *klass)
 {
     GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-    GtkObjectClass *gtk_object_class = GTK_OBJECT_CLASS (klass);
     GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
     
     widget_class->expose_event =
diff --git a/gdl/gdl-dock-item-grip.c b/gdl/gdl-dock-item-grip.c
index 06c791b..400e134 100644
--- a/gdl/gdl-dock-item-grip.c
+++ b/gdl/gdl-dock-item-grip.c
@@ -185,7 +185,7 @@ gdl_dock_item_grip_item_notify (GObject    *master,
 }
 
 static void
-gdl_dock_item_grip_destroy (GtkObject *object)
+gdl_dock_item_grip_destroy (GtkWidget *object)
 {
     GdlDockItemGrip *grip = GDL_DOCK_ITEM_GRIP (object);
         
@@ -207,7 +207,7 @@ gdl_dock_item_grip_destroy (GtkObject *object)
         g_free (priv);
     }
     
-    GTK_OBJECT_CLASS (gdl_dock_item_grip_parent_class)->destroy (object);
+    GTK_WIDGET_CLASS (gdl_dock_item_grip_parent_class)->destroy (object);
 }
 
 static void
@@ -672,18 +672,16 @@ static void
 gdl_dock_item_grip_class_init (GdlDockItemGripClass *klass)
 {
     GObjectClass *gobject_class;
-    GtkObjectClass *gtk_object_class;
     GtkWidgetClass *widget_class;
     GtkContainerClass *container_class;
 
     gobject_class = G_OBJECT_CLASS (klass);
-    gtk_object_class = GTK_OBJECT_CLASS (klass);
     widget_class = GTK_WIDGET_CLASS (klass);
     container_class = GTK_CONTAINER_CLASS (klass);
 
     gobject_class->set_property = gdl_dock_item_grip_set_property;
 
-    gtk_object_class->destroy = gdl_dock_item_grip_destroy;
+    widget_class->destroy = gdl_dock_item_grip_destroy;
 
     widget_class->expose_event = gdl_dock_item_grip_expose;
     widget_class->realize = gdl_dock_item_grip_realize;
diff --git a/gdl/gdl-dock-item.c b/gdl/gdl-dock-item.c
index 4d4bd04..29b9f00 100644
--- a/gdl/gdl-dock-item.c
+++ b/gdl/gdl-dock-item.c
@@ -67,7 +67,7 @@ static void  gdl_dock_item_get_property  (GObject      *object,
                                           GValue       *value,
                                           GParamSpec   *pspec);
 
-static void  gdl_dock_item_destroy       (GtkObject *object);
+static void  gdl_dock_item_destroy       (GtkWidget    *object);
 
 static void  gdl_dock_item_add           (GtkContainer *container,
                                           GtkWidget    *widget);
@@ -199,13 +199,11 @@ gdl_dock_item_class_init (GdlDockItemClass *klass)
     static gboolean style_initialized = FALSE;
     
     GObjectClass       *g_object_class;
-    GtkObjectClass     *gtk_object_class;
     GtkWidgetClass     *widget_class;
     GtkContainerClass  *container_class;
     GdlDockObjectClass *object_class;
     
     g_object_class = G_OBJECT_CLASS (klass);
-    gtk_object_class = GTK_OBJECT_CLASS (klass);
     widget_class = GTK_WIDGET_CLASS (klass);
     container_class = GTK_CONTAINER_CLASS (klass);
     object_class = GDL_DOCK_OBJECT_CLASS (klass);
@@ -214,7 +212,7 @@ gdl_dock_item_class_init (GdlDockItemClass *klass)
     g_object_class->set_property = gdl_dock_item_set_property;
     g_object_class->get_property = gdl_dock_item_get_property;
 
-    gtk_object_class->destroy = gdl_dock_item_destroy;
+    widget_class->destroy = gdl_dock_item_destroy;
 
     widget_class->realize = gdl_dock_item_realize;
     widget_class->map = gdl_dock_item_map;
@@ -601,7 +599,7 @@ gdl_dock_item_get_property  (GObject      *g_object,
 }
 
 static void
-gdl_dock_item_destroy (GtkObject *object)
+gdl_dock_item_destroy (GtkWidget *object)
 {
     GdlDockItem *item = GDL_DOCK_ITEM (object);
 
@@ -628,7 +626,7 @@ gdl_dock_item_destroy (GtkObject *object)
         g_free (priv);
     }
 
-    GTK_OBJECT_CLASS (gdl_dock_item_parent_class)->destroy (object);
+    GTK_WIDGET_CLASS (gdl_dock_item_parent_class)->destroy (object);
 }
 
 static void 
diff --git a/gdl/gdl-dock-notebook.c b/gdl/gdl-dock-notebook.c
index 5074a89..b6fbb24 100644
--- a/gdl/gdl-dock-notebook.c
+++ b/gdl/gdl-dock-notebook.c
@@ -42,7 +42,7 @@ static void  gdl_dock_notebook_get_property  (GObject              *object,
                                               GValue               *value,
                                               GParamSpec           *pspec);
 
-static void  gdl_dock_notebook_destroy       (GtkObject    *object);
+static void  gdl_dock_notebook_destroy       (GtkWidget    *object);
 
 static void  gdl_dock_notebook_add           (GtkContainer *container,
 					      GtkWidget    *widget);
@@ -96,14 +96,12 @@ gdl_dock_notebook_class_init (GdlDockNotebookClass *klass)
     static gboolean style_initialized = FALSE;
     
     GObjectClass       *g_object_class;
-    GtkObjectClass     *gtk_object_class;
     GtkWidgetClass     *widget_class;
     GtkContainerClass  *container_class;
     GdlDockObjectClass *object_class;
     GdlDockItemClass   *item_class;
 
     g_object_class = G_OBJECT_CLASS (klass);
-    gtk_object_class = GTK_OBJECT_CLASS (klass);
     widget_class = GTK_WIDGET_CLASS (klass);
     container_class = GTK_CONTAINER_CLASS (klass);
     object_class = GDL_DOCK_OBJECT_CLASS (klass);
@@ -112,7 +110,7 @@ gdl_dock_notebook_class_init (GdlDockNotebookClass *klass)
     g_object_class->set_property = gdl_dock_notebook_set_property;
     g_object_class->get_property = gdl_dock_notebook_get_property;
     
-    gtk_object_class->destroy = gdl_dock_notebook_destroy;
+    widget_class->destroy = gdl_dock_notebook_destroy;
 
     container_class->add = gdl_dock_notebook_add;
     container_class->forall = gdl_dock_notebook_forall;
@@ -242,13 +240,13 @@ gdl_dock_notebook_get_property (GObject    *object,
 
 
 static void
-gdl_dock_notebook_destroy (GtkObject *object)
+gdl_dock_notebook_destroy (GtkWidget *object)
 {
     GdlDockItem *item = GDL_DOCK_ITEM (object);
 
     /* we need to call the virtual first, since in GdlDockDestroy our
        children dock objects are detached */
-    GTK_OBJECT_CLASS (gdl_dock_notebook_parent_class)->destroy (object);
+    GTK_WIDGET_CLASS (gdl_dock_notebook_parent_class)->destroy (object);
 
     /* after that we can remove the GtkNotebook */
     if (item->child) {
diff --git a/gdl/gdl-dock-object.c b/gdl/gdl-dock-object.c
index 3d125e4..e01f2f1 100644
--- a/gdl/gdl-dock-object.c
+++ b/gdl/gdl-dock-object.c
@@ -56,7 +56,7 @@ static void     gdl_dock_object_get_property       (GObject            *g_object
                                                     GParamSpec         *pspec);
 static void     gdl_dock_object_finalize           (GObject            *g_object);
 
-static void     gdl_dock_object_destroy            (GtkObject          *gtk_object);
+static void     gdl_dock_object_destroy            (GtkWidget          *dock_object);
 
 static void     gdl_dock_object_show               (GtkWidget          *widget);
 static void     gdl_dock_object_hide               (GtkWidget          *widget);
@@ -99,12 +99,10 @@ static void
 gdl_dock_object_class_init (GdlDockObjectClass *klass)
 {
     GObjectClass      *g_object_class;
-    GtkObjectClass    *object_class;
     GtkWidgetClass    *widget_class;
     GtkContainerClass *container_class;
 
     g_object_class = G_OBJECT_CLASS (klass);
-    object_class = GTK_OBJECT_CLASS (klass);
     widget_class = GTK_WIDGET_CLASS (klass);
     container_class = GTK_CONTAINER_CLASS (klass);
 
@@ -141,7 +139,7 @@ gdl_dock_object_class_init (GdlDockObjectClass *klass)
                              GDL_TYPE_DOCK_MASTER,
                              G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
     
-    object_class->destroy = gdl_dock_object_destroy;
+    widget_class->destroy = gdl_dock_object_destroy;
     
     widget_class->show = gdl_dock_object_show;
     widget_class->hide = gdl_dock_object_hide;
@@ -277,13 +275,13 @@ gdl_dock_object_foreach_detach (GdlDockObject *object,
 }
 
 static void
-gdl_dock_object_destroy (GtkObject *gtk_object)
+gdl_dock_object_destroy (GtkWidget *dock_object)
 {
     GdlDockObject *object;
 
-    g_return_if_fail (GDL_IS_DOCK_OBJECT (gtk_object));
+    g_return_if_fail (GDL_IS_DOCK_OBJECT (dock_object));
 
-    object = GDL_DOCK_OBJECT (gtk_object);
+    object = GDL_DOCK_OBJECT (dock_object);
     if (gdl_dock_object_is_compound (object)) {
         /* detach our dock object children if we have some, and even
            if we are not attached, so they can get notification */
@@ -303,7 +301,7 @@ gdl_dock_object_destroy (GtkObject *gtk_object)
     if (object->master)
         gdl_dock_object_unbind (object);
         
-    GTK_OBJECT_CLASS(gdl_dock_object_parent_class)->destroy (gtk_object);
+    GTK_WIDGET_CLASS(gdl_dock_object_parent_class)->destroy (dock_object);
 }
 
 static void
diff --git a/gdl/gdl-dock-paned.c b/gdl/gdl-dock-paned.c
index 42212d4..a4bfb9d 100644
--- a/gdl/gdl-dock-paned.c
+++ b/gdl/gdl-dock-paned.c
@@ -48,7 +48,7 @@ static void     gdl_dock_paned_get_property   (GObject           *object,
                                                GValue            *value,
                                                GParamSpec        *pspec);
 
-static void     gdl_dock_paned_destroy        (GtkObject         *object);
+static void     gdl_dock_paned_destroy        (GtkWidget         *object);
 
 static void     gdl_dock_paned_add            (GtkContainer      *container,
                                                GtkWidget         *widget);
@@ -93,14 +93,12 @@ static void
 gdl_dock_paned_class_init (GdlDockPanedClass *klass)
 {
     GObjectClass       *g_object_class;
-    GtkObjectClass     *gtk_object_class;
     GtkWidgetClass     *widget_class;
     GtkContainerClass  *container_class;
     GdlDockObjectClass *object_class;
     GdlDockItemClass   *item_class;
 
     g_object_class = G_OBJECT_CLASS (klass);
-    gtk_object_class = GTK_OBJECT_CLASS (klass);
     widget_class = GTK_WIDGET_CLASS (klass);
     container_class = GTK_CONTAINER_CLASS (klass);
     object_class = GDL_DOCK_OBJECT_CLASS (klass);
@@ -110,7 +108,7 @@ gdl_dock_paned_class_init (GdlDockPanedClass *klass)
     g_object_class->get_property = gdl_dock_paned_get_property;
     g_object_class->constructor = gdl_dock_paned_constructor;
     
-    gtk_object_class->destroy = gdl_dock_paned_destroy;
+    widget_class->destroy = gdl_dock_paned_destroy;
 
     container_class->add = gdl_dock_paned_add;
     container_class->forall = gdl_dock_paned_forall;
@@ -280,13 +278,14 @@ gdl_dock_paned_get_property (GObject        *object,
 }
 
 static void
-gdl_dock_paned_destroy (GtkObject *object)
+gdl_dock_paned_destroy (GtkWidget *object)
 {
     GdlDockItem *item = GDL_DOCK_ITEM (object);
 
     /* we need to call the virtual first, since in GdlDockDestroy our
        children dock objects are detached */
-    GTK_OBJECT_CLASS (gdl_dock_paned_parent_class)->destroy (object);
+    GTK_WIDGET_CLASS (gdl_dock_paned_parent_class)->destroy (object);
+
 
     /* after that we can remove the GtkNotebook */
     if (item->child) {
diff --git a/gdl/gdl-dock-placeholder.c b/gdl/gdl-dock-placeholder.c
index 8cde7a5..560063f 100644
--- a/gdl/gdl-dock-placeholder.c
+++ b/gdl/gdl-dock-placeholder.c
@@ -49,7 +49,7 @@ static void     gdl_dock_placeholder_get_property   (GObject                 *g_
                                                      GValue                  *value,
                                                      GParamSpec              *pspec);
 
-static void     gdl_dock_placeholder_destroy        (GtkObject               *object);
+static void     gdl_dock_placeholder_destroy        (GtkWidget               *object);
 
 static void     gdl_dock_placeholder_add            (GtkContainer            *container,
                                                      GtkWidget               *widget);
@@ -124,12 +124,12 @@ static void
 gdl_dock_placeholder_class_init (GdlDockPlaceholderClass *klass)
 {
     GObjectClass       *g_object_class;
-    GtkObjectClass     *gtk_object_class;
+    GtkWidgetClass     *widget_class;
     GtkContainerClass  *container_class;
     GdlDockObjectClass *object_class;
     
     g_object_class = G_OBJECT_CLASS (klass);
-    gtk_object_class = GTK_OBJECT_CLASS (klass);
+    widget_class = GTK_WIDGET_CLASS (klass);
     container_class = GTK_CONTAINER_CLASS (klass);
     object_class = GDL_DOCK_OBJECT_CLASS (klass);
 
@@ -200,7 +200,7 @@ gdl_dock_placeholder_class_init (GdlDockPlaceholderClass *klass)
                           	GDL_DOCK_PARAM_EXPORT));
     
 	
-    gtk_object_class->destroy = gdl_dock_placeholder_destroy;
+    widget_class->destroy = gdl_dock_placeholder_destroy;
     container_class->add = gdl_dock_placeholder_add;
     
     object_class->is_compound = FALSE;
@@ -312,7 +312,7 @@ gdl_dock_placeholder_get_property (GObject    *g_object,
 }
 
 static void
-gdl_dock_placeholder_destroy (GtkObject *object)
+gdl_dock_placeholder_destroy (GtkWidget *object)
 {
     GdlDockPlaceholder *ph = GDL_DOCK_PLACEHOLDER (object);
 
@@ -323,7 +323,7 @@ gdl_dock_placeholder_destroy (GtkObject *object)
         ph->_priv = NULL;
     }
 
-    GTK_OBJECT_CLASS (gdl_dock_placeholder_parent_class)->destroy (object);
+    GTK_WIDGET_CLASS (gdl_dock_placeholder_parent_class)->destroy (object);
 }
 
 static void 
diff --git a/gdl/gdl-dock-tablabel.c b/gdl/gdl-dock-tablabel.c
index 441db34..d9843e3 100644
--- a/gdl/gdl-dock-tablabel.c
+++ b/gdl/gdl-dock-tablabel.c
@@ -97,12 +97,10 @@ static void
 gdl_dock_tablabel_class_init (GdlDockTablabelClass *klass)
 {
     GObjectClass      *g_object_class;
-    GtkObjectClass    *object_class;
     GtkWidgetClass    *widget_class;
     GtkContainerClass *container_class;
 
     g_object_class = G_OBJECT_CLASS (klass);
-    object_class = GTK_OBJECT_CLASS (klass);
     widget_class = GTK_WIDGET_CLASS (klass);
     container_class = GTK_CONTAINER_CLASS (klass);
     
diff --git a/gdl/gdl-dock.c b/gdl/gdl-dock.c
index 7d836b7..d65c387 100644
--- a/gdl/gdl-dock.c
+++ b/gdl/gdl-dock.c
@@ -61,7 +61,7 @@ static void  gdl_dock_notify_cb       (GObject      *object,
 
 static void  gdl_dock_set_title       (GdlDock      *dock);
 
-static void  gdl_dock_destroy         (GtkObject    *object);
+static void  gdl_dock_destroy         (GtkWidget    *object);
 
 static void  gdl_dock_size_request    (GtkWidget      *widget,
                                        GtkRequisition *requisition);
@@ -154,13 +154,11 @@ static void
 gdl_dock_class_init (GdlDockClass *klass)
 {
     GObjectClass       *g_object_class;
-    GtkObjectClass     *gtk_object_class;
     GtkWidgetClass     *widget_class;
     GtkContainerClass  *container_class;
     GdlDockObjectClass *object_class;
     
     g_object_class = G_OBJECT_CLASS (klass);
-    gtk_object_class = GTK_OBJECT_CLASS (klass);
     widget_class = GTK_WIDGET_CLASS (klass);
     container_class = GTK_CONTAINER_CLASS (klass);
     object_class = GDL_DOCK_OBJECT_CLASS (klass);
@@ -218,7 +216,7 @@ gdl_dock_class_init (GdlDockClass *klass)
                           G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
                           GDL_DOCK_PARAM_EXPORT));
     
-    gtk_object_class->destroy = gdl_dock_destroy;
+    widget_class->destroy = gdl_dock_destroy;
 
     widget_class->size_request = gdl_dock_size_request;
     widget_class->size_allocate = gdl_dock_size_allocate;
@@ -502,7 +500,7 @@ gdl_dock_notify_cb (GObject    *object,
 }
 
 static void
-gdl_dock_destroy (GtkObject *object)
+gdl_dock_destroy (GtkWidget *object)
 {
     GdlDock *dock = GDL_DOCK (object);
 
@@ -525,7 +523,7 @@ gdl_dock_destroy (GtkObject *object)
         g_free (priv);
     }
     
-   GTK_OBJECT_CLASS (gdl_dock_parent_class)->destroy (object);
+   GTK_WIDGET_CLASS (gdl_dock_parent_class)->destroy (object);
 }
 
 static void
