diff libpurple/plugins/autoaccept.c @ 32726:c47349fcd270

Don't migrate the old autoaccept pref if the new one already exists. Otherwise, we would clobber the existing pref if it doesn't match the old pref. Fixes #14964.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Mon, 27 Feb 2012 23:07:49 +0000
parents 26a4f6fc8024
children 8404c5b75e99
line wrap: on
line diff
--- a/libpurple/plugins/autoaccept.c	Mon Feb 27 22:45:47 2012 +0000
+++ b/libpurple/plugins/autoaccept.c	Mon Feb 27 23:07:49 2012 +0000
@@ -238,8 +238,12 @@
 	 *       between old libpurple clients and new libpurple clients.
 	 *                                             --Mark Doliner, 2011-01-03
 	 */
-	if(purple_prefs_get_bool(PREF_STRANGER_OLD))
-		purple_prefs_set_int(PREF_STRANGER, FT_REJECT);
+	if (!purple_prefs_exists(PREF_STRANGER)) {
+		if (purple_prefs_get_bool(PREF_STRANGER_OLD))
+			purple_prefs_add_int(PREF_STRANGER, FT_REJECT);
+		else
+			purple_prefs_set_int(PREF_STRANGER, FT_ASK);
+	}
 
 	purple_signal_connect(purple_xfers_get_handle(), "file-recv-request", plugin,
 						PURPLE_CALLBACK(file_recv_request_cb), plugin);
@@ -345,7 +349,6 @@
 	dirname = g_build_filename(purple_user_dir(), "autoaccept", NULL);
 	purple_prefs_add_none(PREF_PREFIX);
 	purple_prefs_add_string(PREF_PATH, dirname);
-	purple_prefs_add_int(PREF_STRANGER, FT_ASK);
 	purple_prefs_add_bool(PREF_NOTIFY, TRUE);
 	purple_prefs_add_bool(PREF_NEWDIR, TRUE);
 	purple_prefs_add_bool(PREF_ESCAPE, TRUE);