static void hd_desktop_dispose (GObject *object) { HDDesktop *desktop = HD_DESKTOP (object); HDDesktopPrivate *priv = desktop->priv; if (priv->root_window) priv->root_window = (g_object_unref (priv->root_window), NULL); G_OBJECT_CLASS (hd_desktop_parent_class)->dispose (object); }
int main (int argc, char **argv) { GObject *desktop; gchar *gtkrc = NULL; g_thread_init (NULL); setlocale (LC_ALL, ""); bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); /* Read the maemo-af-desktop gtkrc file */ gtkrc = g_build_filename (g_get_home_dir (), OSSO_USER_DIR, HILDON_DESKTOP_GTKRC, NULL); if (gtkrc && g_file_test ((gtkrc), G_FILE_TEST_EXISTS)) { gtk_rc_add_default_file (gtkrc); } g_free (gtkrc); /* If gtk_init was called already (maemo-launcher is used), * re-parse the gtkrc to include the maemo-af-desktop specific one */ if (gdk_screen_get_default ()) { gtk_rc_reparse_all_for_settings ( gtk_settings_get_for_screen (gdk_screen_get_default ()), TRUE); } gtk_init (&argc, &argv); gnome_vfs_init (); signal (SIGTERM, signal_handler); desktop = hd_desktop_new (); hd_desktop_run (HD_DESKTOP (desktop)); gtk_main (); return 0; }