network-manager-applet r888 - in trunk: . src/gconf-helpers
- From: dcbw svn gnome org
- To: svn-commits-list gnome org
- Subject: network-manager-applet r888 - in trunk: . src/gconf-helpers
- Date: Mon, 15 Sep 2008 05:06:30 +0000 (UTC)
Author: dcbw
Date: Mon Sep 15 05:06:30 2008
New Revision: 888
URL: http://svn.gnome.org/viewvc/network-manager-applet?rev=888&view=rev
Log:
2008-09-15 Dan Williams <dcbw redhat com>
* src/gconf-helpers/gconf-helpers.c
- (nm_gconf_write_connection, write_one_secret_to_keyring): split out
writing of secrets into it's own function for clarity. Fixes a
regression introduced in r875 where secrets wouldn't get saved.
Modified:
trunk/ChangeLog
trunk/src/gconf-helpers/gconf-helpers.c
Modified: trunk/src/gconf-helpers/gconf-helpers.c
==============================================================================
--- trunk/src/gconf-helpers/gconf-helpers.c (original)
+++ trunk/src/gconf-helpers/gconf-helpers.c Mon Sep 15 05:06:30 2008
@@ -1176,6 +1176,36 @@
} CopyOneSettingValueInfo;
static void
+write_one_secret_to_keyring (NMSetting *setting,
+ const char *key,
+ const GValue *value,
+ gboolean is_secret,
+ gpointer user_data)
+{
+ CopyOneSettingValueInfo *info = (CopyOneSettingValueInfo *) user_data;
+ GType type = G_VALUE_TYPE (value);
+ const char *secret;
+
+ if (!is_secret)
+ return;
+
+ if (type != G_TYPE_STRING) {
+ g_warning ("Unhandled setting secret type (write) '%s/%s' : '%s'",
+ setting->name, key, g_type_name (type));
+ return;
+ }
+
+ secret = g_value_get_string (value);
+ if (secret && strlen (secret)) {
+ nm_gconf_add_keyring_item (info->connection_uuid,
+ info->connection_name,
+ setting->name,
+ key,
+ secret);
+ }
+}
+
+static void
copy_one_setting_value_to_gconf (NMSetting *setting,
const char *key,
const GValue *value,
@@ -1422,9 +1452,13 @@
nm_connection_for_each_setting_value (connection,
copy_one_setting_value_to_gconf,
&info);
-
remove_leftovers (&info);
+ /* write secrets */
+ nm_connection_for_each_setting_value (connection,
+ write_one_secret_to_keyring,
+ &info);
+
write_applet_private_values_to_gconf (&info);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]