# HG changeset patch # User Luke Schierer # Date 1184956704 0 # Node ID 65aef3c97d3a20b57a06cc5a605e61ef9bc43351 # Parent 7529effd3d359d6fc4663c2d6dbbfc452b3b4caf# Parent d767cd75d0887a0902e622e094f42c37b923c7d8 merge of '9b9534d8ba6b75ce9836ce0cd1ed8e086c0f89a0' and 'b7ac92fc2d2b33c1a09032dea60d13b74fe466b2' diff -r 7529effd3d35 -r 65aef3c97d3a COPYRIGHT --- a/COPYRIGHT Fri Jul 20 18:35:13 2007 +0000 +++ b/COPYRIGHT Fri Jul 20 18:38:24 2007 +0000 @@ -156,6 +156,7 @@ Andy Harrison Andrew Hart (arhart) Rene Hausleitner +Will Hawkins G. Sumner Hayes Michael R. Head Nick Hebner diff -r 7529effd3d35 -r 65aef3c97d3a libpurple/protocols/simple/simple.c --- a/libpurple/protocols/simple/simple.c Fri Jul 20 18:35:13 2007 +0000 +++ b/libpurple/protocols/simple/simple.c Fri Jul 20 18:38:24 2007 +0000 @@ -976,14 +976,16 @@ if(!isc) { purple_debug_info("simple", "process_incoming_message: can not parse iscomposing\n"); + g_free(from); return; } state = xmlnode_get_child(isc, "state"); if(!state) { - purple_debug_info("simple", "process_incoming_message: no state found\n"); - xmlnode_free(isc); + purple_debug_info("simple", "process_incoming_message: no state found\n"); + xmlnode_free(isc); + g_free(from); return; } @@ -1063,6 +1065,7 @@ if(!pidf) { purple_debug_info("simple", "process_incoming_notify: no parseable pidf\n"); + g_free(from); return; } @@ -1073,6 +1076,7 @@ if(!basicstatus) { purple_debug_info("simple", "process_incoming_notify: no basic found\n"); xmlnode_free(pidf); + g_free(from); return; } @@ -1081,6 +1085,7 @@ if(!tmp2) { purple_debug_info("simple", "process_incoming_notify: no basic data found\n"); xmlnode_free(pidf); + g_free(from); return; } diff -r 7529effd3d35 -r 65aef3c97d3a pidgin/gtkaccount.c --- a/pidgin/gtkaccount.c Fri Jul 20 18:35:13 2007 +0000 +++ b/pidgin/gtkaccount.c Fri Jul 20 18:38:24 2007 +0000 @@ -504,7 +504,7 @@ /* Google Talk default domain hackery! */ menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu)); item = gtk_menu_get_active(GTK_MENU(menu)); - if (value == NULL && g_object_get_data(G_OBJECT(item), "fake") && + if (value == NULL && g_object_get_data(G_OBJECT(item), "fake") && !strcmp(purple_account_user_split_get_text(split), _("Domain"))) value = "gmail.com"; @@ -1814,6 +1814,10 @@ static gint accedit_win_destroy_cb(GtkWidget *w, GdkEvent *event, AccountsWindow *dialog) { + /* Since this is called as the window is closing, we don't need + * pidgin_accounts_window_hide() to also dispose of the window */ + dialog->window = NULL; + pidgin_accounts_window_hide(); return 0; @@ -1924,8 +1928,6 @@ static void close_accounts_cb(GtkWidget *w, AccountsWindow *dialog) { - gtk_widget_destroy(dialog->window); - pidgin_accounts_window_hide(); } @@ -2401,6 +2403,9 @@ if (accounts_window == NULL) return; + if (accounts_window->window != NULL) + gtk_widget_destroy(accounts_window->window); + purple_signals_disconnect_by_handle(accounts_window); purple_prefs_disconnect_by_handle(accounts_window);