Author: mccann Date: Fri Feb 8 17:13:33 2008 New Revision: 5737 URL: http://svn.gnome.org/viewvc/gdm?rev=5737&view=rev
Log: 2008-02-08 William Jon McCann <[EMAIL PROTECTED]> * gui/simple-greeter/gdm-a11y-preferences-dialog.c: (setup_dialog), (gdm_a11y_preferences_dialog_finalize): Disconnect gconf notify callbacks. Modified: trunk/ChangeLog trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.c Modified: trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.c ============================================================================== --- trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.c (original) +++ trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.c Fri Feb 8 17:13:33 2008 @@ -63,6 +63,8 @@ struct GdmA11yPreferencesDialogPrivate { GladeXML *xml; + guint a11y_dir_cnxn; + guint gdm_a11y_dir_cnxn; }; enum { @@ -721,23 +723,23 @@ KEY_A11Y_DIR, GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); - gconf_client_notify_add (client, - KEY_A11Y_DIR, - (GConfClientNotifyFunc)key_changed_cb, - dialog, - NULL, - NULL); + dialog->priv->a11y_dir_cnxn = gconf_client_notify_add (client, + KEY_A11Y_DIR, + (GConfClientNotifyFunc)key_changed_cb, + dialog, + NULL, + NULL); gconf_client_add_dir (client, KEY_GDM_A11Y_DIR, GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); - gconf_client_notify_add (client, - KEY_GDM_A11Y_DIR, - (GConfClientNotifyFunc)key_changed_cb, - dialog, - NULL, - NULL); + dialog->priv->gdm_a11y_dir_cnxn = gconf_client_notify_add (client, + KEY_GDM_A11Y_DIR, + (GConfClientNotifyFunc)key_changed_cb, + dialog, + NULL, + NULL); g_object_unref (client); } @@ -778,14 +780,26 @@ static void gdm_a11y_preferences_dialog_finalize (GObject *object) { - GdmA11yPreferencesDialog *a11y_preferences_dialog; + GdmA11yPreferencesDialog *dialog; + GConfClient *client; g_return_if_fail (object != NULL); g_return_if_fail (GDM_IS_A11Y_PREFERENCES_DIALOG (object)); - a11y_preferences_dialog = GDM_A11Y_PREFERENCES_DIALOG (object); + dialog = GDM_A11Y_PREFERENCES_DIALOG (object); + + g_return_if_fail (dialog->priv != NULL); + + client = gconf_client_get_default (); - g_return_if_fail (a11y_preferences_dialog->priv != NULL); + if (dialog->priv->a11y_dir_cnxn > 0) { + gconf_client_notify_remove (client, dialog->priv->a11y_dir_cnxn); + } + if (dialog->priv->gdm_a11y_dir_cnxn > 0) { + gconf_client_notify_remove (client, dialog->priv->gdm_a11y_dir_cnxn); + } + + g_object_unref (client); G_OBJECT_CLASS (gdm_a11y_preferences_dialog_parent_class)->finalize (object); } _______________________________________________ SVN-commits-list mailing list (read only) http://mail.gnome.org/mailman/listinfo/svn-commits-list Want to limit the commits to a few modules? Go to above URL, log in to edit your options and select the modules ('topics') you want. Module maintainer? It is possible to set the reply-to to your development mailing list. Email [EMAIL PROTECTED] if interested.