Index: src/xfdesktop-window-icon.c =================================================================== --- src/xfdesktop-window-icon.c (revision 22647) +++ src/xfdesktop-window-icon.c (working copy) @@ -88,13 +88,16 @@ { GObjectClass *gobject_class = (GObjectClass *)klass; + g_type_class_add_private(klass, sizeof(XfdesktopWindowIconPrivate)); + gobject_class->finalize = xfdesktop_window_icon_finalize; } static void xfdesktop_window_icon_init(XfdesktopWindowIcon *icon) { - icon->priv = g_new0(XfdesktopWindowIconPrivate, 1); + icon->priv = G_TYPE_INSTANCE_GET_PRIVATE(icon, XFDESKTOP_TYPE_WINDOW_ICON, + XfdesktopWindowIconPrivate); } static void @@ -129,7 +132,6 @@ G_CALLBACK(xfdesktop_window_icon_changed_cb), icon); - g_free(icon->priv); G_OBJECT_CLASS(xfdesktop_window_icon_parent_class)->finalize(obj); } Index: src/xfce-backdrop.c =================================================================== --- src/xfce-backdrop.c (revision 22647) +++ src/xfce-backdrop.c (working copy) @@ -199,6 +199,8 @@ GObjectClass *gobject_class; gobject_class = (GObjectClass *)klass; + + g_type_class_add_private(klass, sizeof(XfceBackdropPriv)); gobject_class->dispose = xfce_backdrop_dispose; gobject_class->finalize = xfce_backdrop_finalize; @@ -212,7 +214,9 @@ static void xfce_backdrop_init(XfceBackdrop *backdrop) { - backdrop->priv = g_new0(XfceBackdropPriv, 1); + backdrop->priv = G_TYPE_INSTANCE_GET_PRIVATE(backdrop, XFCE_TYPE_BACKDROP, + XfceBackdropPriv); + backdrop->priv->show_image = TRUE; } @@ -238,9 +242,6 @@ g_return_if_fail(backdrop != NULL); - g_free(backdrop->priv); - backdrop->priv = NULL; - G_OBJECT_CLASS(xfce_backdrop_parent_class)->finalize(object); } Index: src/xfdesktop-window-icon-manager.c =================================================================== --- src/xfdesktop-window-icon-manager.c (revision 22647) +++ src/xfdesktop-window-icon-manager.c (working copy) @@ -86,6 +86,8 @@ { GObjectClass *gobject_class = (GObjectClass *)klass; + g_type_class_add_private(klass, sizeof(XfdesktopWindowIconManagerPrivate)); + gobject_class->set_property = xfdesktop_window_icon_manager_set_property; gobject_class->get_property = xfdesktop_window_icon_manager_get_property; gobject_class->finalize = xfdesktop_window_icon_manager_finalize; @@ -101,7 +103,8 @@ static void xfdesktop_window_icon_manager_init(XfdesktopWindowIconManager *wmanager) { - wmanager->priv = g_new0(XfdesktopWindowIconManagerPrivate, 1); + wmanager->priv = G_TYPE_INSTANCE_GET_PRIVATE(wmanager, XFDESKTOP_TYPE_WINDOW_ICON_MANAGER, + XfdesktopWindowIconManagerPrivate); } static void @@ -156,8 +159,6 @@ g_free(wmanager->priv->icon_workspaces); } - g_free(wmanager->priv); - G_OBJECT_CLASS(xfdesktop_window_icon_manager_parent_class)->finalize(obj); } Index: src/xfdesktop-file-icon.c =================================================================== --- src/xfdesktop-file-icon.c (revision 22647) +++ src/xfdesktop-file-icon.c (working copy) @@ -145,6 +145,8 @@ { GObjectClass *gobject_class = (GObjectClass *)klass; + g_type_class_add_private(klass, sizeof(XfdesktopFileIconPrivate)); + gobject_class->finalize = xfdesktop_file_icon_finalize; __signals[SIG_POS_CHANGED] = g_signal_new("position-changed", @@ -160,7 +162,9 @@ static void xfdesktop_file_icon_init(XfdesktopFileIcon *icon) { - icon->priv = g_new0(XfdesktopFileIconPrivate, 1); + icon->priv = G_TYPE_INSTANCE_GET_PRIVATE(icon, XFDESKTOP_TYPE_FILE_ICON, + XfdesktopFileIconPrivate); + icon->priv->pix_opacity = 100; } @@ -209,8 +213,6 @@ if(icon->priv->tooltip) g_free(icon->priv->tooltip); - g_free(icon->priv); - G_OBJECT_CLASS(xfdesktop_file_icon_parent_class)->finalize(obj); } Index: src/xfdesktop-file-icon-manager.c =================================================================== --- src/xfdesktop-file-icon-manager.c (revision 22647) +++ src/xfdesktop-file-icon-manager.c (working copy) @@ -187,6 +187,8 @@ { GObjectClass *gobject_class = (GObjectClass *)klass; + g_type_class_add_private(klass, sizeof(XfdesktopFileIconManagerPrivate)); + gobject_class->set_property = xfdesktop_file_icon_manager_set_property; gobject_class->get_property = xfdesktop_file_icon_manager_get_property; gobject_class->finalize = xfdesktop_file_icon_manager_finalize; @@ -204,7 +206,8 @@ static void xfdesktop_file_icon_manager_init(XfdesktopFileIconManager *fmanager) { - fmanager->priv = g_new0(XfdesktopFileIconManagerPrivate, 1); + fmanager->priv = G_TYPE_INSTANCE_GET_PRIVATE(fmanager, XFDESKTOP_TYPE_FILE_ICON_MANAGER, + XfdesktopFileIconManagerPrivate); /* be safe */ fmanager->priv->gscreen = gdk_screen_get_default(); @@ -288,8 +291,6 @@ gtk_target_list_unref(fmanager->priv->drag_targets); gtk_target_list_unref(fmanager->priv->drop_targets); - g_free(fmanager->priv); - G_OBJECT_CLASS(xfdesktop_file_icon_manager_parent_class)->finalize(obj); } Index: src/xfdesktop-icon-view.c =================================================================== --- src/xfdesktop-icon-view.c (revision 22647) +++ src/xfdesktop-icon-view.c (working copy) @@ -294,6 +294,8 @@ GObjectClass *gobject_class = (GObjectClass *)klass; GtkWidgetClass *widget_class = (GtkWidgetClass *)klass; + g_type_class_add_private(klass, sizeof(XfdesktopIconViewPrivate)); + gobject_class->finalize = xfdesktop_icon_view_finalize; widget_class->style_set = xfdesktop_icon_view_style_set; @@ -336,7 +338,8 @@ static void xfdesktop_icon_view_init(XfdesktopIconView *icon_view) { - icon_view->priv = g_new0(XfdesktopIconViewPrivate, 1); + icon_view->priv = G_TYPE_INSTANCE_GET_PRIVATE(icon_view, XFDESKTOP_TYPE_ICON_VIEW, + XfdesktopIconViewPrivate); icon_view->priv->icon_size = DEFAULT_ICON_SIZE; icon_view->priv->font_size = DEFAULT_FONT_SIZE; @@ -383,8 +386,6 @@ if(icon_view->priv->tip_window) gtk_widget_destroy(icon_view->priv->tip_window); - g_free(icon_view->priv); - G_OBJECT_CLASS(xfdesktop_icon_view_parent_class)->finalize(obj); } Index: src/xfce-desktop.c =================================================================== --- src/xfce-desktop.c (revision 22647) +++ src/xfce-desktop.c (working copy) @@ -484,6 +484,8 @@ gobject_class = (GObjectClass *)klass; widget_class = (GtkWidgetClass *)klass; + g_type_class_add_private(klass, sizeof(XfceDesktopPriv)); + gobject_class->finalize = xfce_desktop_finalize; widget_class->realize = xfce_desktop_realize; @@ -495,7 +497,9 @@ static void xfce_desktop_init(XfceDesktop *desktop) { - desktop->priv = g_new0(XfceDesktopPriv, 1); + desktop->priv = G_TYPE_INSTANCE_GET_PRIVATE(desktop, XFCE_TYPE_DESKTOP, + XfceDesktopPriv); + GTK_WINDOW(desktop)->type = GTK_WINDOW_TOPLEVEL; #ifdef ENABLE_DESKTOP_ICONS desktop->priv->icons_use_system_font = TRUE; @@ -512,9 +516,6 @@ g_return_if_fail(XFCE_IS_DESKTOP(desktop)); - g_free(desktop->priv); - desktop->priv = NULL; - G_OBJECT_CLASS(xfce_desktop_parent_class)->finalize(object); }