gdm r5737 - in trunk: . gui/simple-greeter
- From: mccann svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r5737 - in trunk: . gui/simple-greeter
- Date: Fri, 8 Feb 2008 17:13:33 +0000 (GMT)
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 <jmccann redhat com>
* 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);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]