# HG changeset patch # User Daniel Atallah # Date 1188273584 0 # Node ID c88e64f1ed76974d3da704dc26824cb26cb2bdd8 # Parent f0c3497e2ea68ddba5a1a85a62a48a9cd1a21ee1 Move purple_prefs_load() to purple_prefs_init() - there's been a TODO for this for a long time. I have no idea why this wasn't done sooner; it seems to work just fine and fixes some bugs where stuff isn't loaded before being used. Fixes #1848 (and I'm sure others). Yell at me if this breaks anything. diff -r f0c3497e2ea6 -r c88e64f1ed76 libpurple/core.c --- a/libpurple/core.c Tue Aug 28 03:46:31 2007 +0000 +++ b/libpurple/core.c Tue Aug 28 03:59:44 2007 +0000 @@ -161,9 +161,8 @@ /* * Call this early on to try to auto-detect our IP address and * hopefully save some time later. - * TODO: do this here after purple_prefs_load() has been moved into purple_prefs_init() */ - /*purple_network_get_my_ip(-1);*/ + purple_network_get_my_ip(-1); if (ops != NULL && ops->ui_init != NULL) ops->ui_init(); diff -r f0c3497e2ea6 -r c88e64f1ed76 libpurple/prefs.c --- a/libpurple/prefs.c Tue Aug 28 03:46:31 2007 +0000 +++ b/libpurple/prefs.c Tue Aug 28 03:59:44 2007 +0000 @@ -1446,6 +1446,9 @@ purple_prefs_remove("/purple/contact/offline_score"); purple_prefs_remove("/purple/contact/away_score"); purple_prefs_remove("/purple/contact/idle_score"); + + purple_prefs_load(); + purple_prefs_update_old(); } void diff -r f0c3497e2ea6 -r c88e64f1ed76 pidgin/gtkmain.c --- a/pidgin/gtkmain.c Tue Aug 28 03:46:31 2007 +0000 +++ b/pidgin/gtkmain.c Tue Aug 28 03:59:44 2007 +0000 @@ -768,22 +768,12 @@ purple_set_blist(purple_blist_new()); purple_blist_load(); - /* TODO: Move prefs loading into purple_prefs_init() */ - purple_prefs_load(); - purple_prefs_update_old(); - pidgin_prefs_update_old(); - /* load plugins we had when we quit */ purple_plugins_load_saved(PIDGIN_PREFS_ROOT "/plugins/loaded"); /* TODO: Move pounces loading into purple_pounces_init() */ purple_pounces_load(); - /* Call this early on to try to auto-detect our IP address and - * hopefully save some time later. - * TODO: move this (back) into purple_core_init() when purple_prefs_load() is in purple_prefs_init() */ - purple_network_get_my_ip(-1); - /* HACK BY SEANEGAN: * We've renamed prpl-oscar to prpl-aim and prpl-icq, accordingly. * Let's do that change right here... after everything's loaded, but @@ -837,10 +827,7 @@ g_free(opt_login_arg); opt_login_arg = NULL; } - } - - if (opt_nologin && !opt_login) - { + } else if (opt_nologin) { /* Set all accounts to "offline" */ PurpleSavedStatus *saved_status; @@ -854,9 +841,7 @@ /* Set the status for each account */ purple_savedstatus_activate(saved_status); - } - else if (!opt_login) - { + } else { /* Everything is good to go--sign on already */ if (!purple_prefs_get_bool("/purple/savedstatus/startup_current_status")) purple_savedstatus_activate(purple_savedstatus_get_startup()); diff -r f0c3497e2ea6 -r c88e64f1ed76 pidgin/gtkprefs.c --- a/pidgin/gtkprefs.c Tue Aug 28 03:46:31 2007 +0000 +++ b/pidgin/gtkprefs.c Tue Aug 28 03:59:44 2007 +0000 @@ -887,7 +887,7 @@ ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER); - + sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); vbox = pidgin_make_frame(ret, _("System Tray Icon")); @@ -899,7 +899,7 @@ NULL); gtk_size_group_add_widget(sg, label); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); - + vbox = pidgin_make_frame(ret, _("Conversation Window Hiding")); label = pidgin_prefs_dropdown(vbox, _("_Hide new IM conversations:"), PURPLE_PREF_STRING, PIDGIN_PREFS_ROOT "/conversations/im/hide_new", @@ -909,11 +909,11 @@ NULL); gtk_size_group_add_widget(sg, label); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); - + /* All the tab options! */ vbox = pidgin_make_frame(ret, _("Tabs")); - + pidgin_prefs_checkbox(_("Show IMs and chats in _tabbed windows"), PIDGIN_PREFS_ROOT "/conversations/tabs", vbox); @@ -944,12 +944,12 @@ NULL); gtk_size_group_add_widget(sg, label); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); - + names = pidgin_conv_placement_get_options(); label = pidgin_prefs_dropdown_from_list(vbox2, _("N_ew conversations:"), PURPLE_PREF_STRING, PIDGIN_PREFS_ROOT "/conversations/placement", names); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); - + gtk_size_group_add_widget(sg, label); g_list_free(names); @@ -1620,7 +1620,7 @@ filename = NULL; purple_request_file(prefs, _("Sound Selection"), filename, FALSE, - G_CALLBACK(sound_chosen_cb), NULL, + G_CALLBACK(sound_chosen_cb), NULL, NULL, NULL, NULL, GINT_TO_POINTER(sound_row_sel)); } @@ -2010,7 +2010,7 @@ return ret; } -static int +static int prefs_notebook_add_page(const char *text, GtkWidget *page, int ind) { @@ -2164,6 +2164,8 @@ /* Smiley Callbacks */ purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/smileys/theme", smiley_theme_pref_cb, NULL); + + pidgin_prefs_update_old(); } void pidgin_prefs_update_old()