# HG changeset patch # User John Bailey # Date 1284954827 0 # Node ID 8a03508dd6f476595d2a9a8f219796051ba73cac # Parent 0d2503e532a7a1036fae189e163232f4098a8a61 Change the "Manual" browser command pref's name to allow for a relatively simple migration of an existing value from the path pref to the new string pref. As I note in the comment in the migration code, I realize this will break things for and confuse those users who use the same config directory for mutliple versions of Pidgin, but I'm not inclined to devise a solution that will make that work. The solution I've implemented fixes the most important case--users who upgrade. The rest of the world will just have to move on. Refs #12024. diff -r 0d2503e532a7 -r 8a03508dd6f4 pidgin/gtkprefs.c --- a/pidgin/gtkprefs.c Mon Sep 20 03:35:16 2010 +0000 +++ b/pidgin/gtkprefs.c Mon Sep 20 03:53:47 2010 +0000 @@ -2828,7 +2828,7 @@ /* Browsers */ purple_prefs_add_none(PIDGIN_PREFS_ROOT "/browsers"); purple_prefs_add_int(PIDGIN_PREFS_ROOT "/browsers/place", PIDGIN_BROWSER_DEFAULT); - purple_prefs_add_string(PIDGIN_PREFS_ROOT "/browsers/command", ""); + purple_prefs_add_string(PIDGIN_PREFS_ROOT "/browsers/manual_command", ""); purple_prefs_add_string(PIDGIN_PREFS_ROOT "/browsers/browser", "mozilla"); #endif @@ -2859,7 +2859,7 @@ void pidgin_prefs_update_old(void) { - const char *str; + const char *str = NULL; purple_prefs_rename("/gaim/gtk", PIDGIN_PREFS_ROOT); @@ -2875,6 +2875,17 @@ purple_prefs_rename_boolean_toggle(PIDGIN_PREFS_ROOT "/conversations/ignore_colors", PIDGIN_PREFS_ROOT "/conversations/show_incoming_formatting"); + /* + * this path pref changed to a string, so migrate. I know this will break + * things for and confuse users that use multiple versions with the same + * config directory, but I'm not inclined to want to deal with that at the + * moment. -- rekkanoryo + */ + if((str = purple_prefs_get_path(PIDGIN_PREFS_ROOT "/browsers/command")) != NULL) { + purple_prefs_set_string(PIDGIN_PREFS_ROOT "/browsers/manual_command", str); + purple_prefs_remove(PIDGIN_PREFS_ROOT "/browsers/command"); + } + /* this string pref moved into the core, try to be friendly */ purple_prefs_rename(PIDGIN_PREFS_ROOT "/idle/reporting_method", "/purple/away/idle_reporting"); if ((str = purple_prefs_get_string("/purple/away/idle_reporting")) &&