pidgin/pidgin

ce080531de34
merge of '650a7af9c238b4bc69a756fb74972045dc1561d2'
and 'bfcf14861801f36ce743e26f7665678d52856f7b'
--- a/libpurple/protocols/jabber/jabber.c Sun Sep 16 01:05:22 2007 +0000
+++ b/libpurple/protocols/jabber/jabber.c Sun Sep 16 01:40:44 2007 +0000
@@ -141,6 +141,7 @@
if(jabber_process_starttls(js, packet))
return;
} else if(purple_account_get_bool(js->gc->account, "require_tls", FALSE) && !js->gsc) {
+ js->gc->wants_to_die = TRUE;
purple_connection_error(js->gc, _("You require encryption, but it is not available on this server."));
return;
}
--- a/pidgin/gtkconv.c Sun Sep 16 01:05:22 2007 +0000
+++ b/pidgin/gtkconv.c Sun Sep 16 01:40:44 2007 +0000
@@ -220,7 +220,7 @@
}
static gboolean
-close_conv_cb(GtkWidget *w, GdkEventButton *event, PidginConversation *gtkconv)
+close_conv_cb(GtkWidget *w, GdkEventButton *dontuse, PidginConversation *gtkconv)
{
/* We are going to destroy the conversations immediately only if the 'close immediately'
* preference is selected. Otherwise, close the conversation after a reasonable timeout
@@ -8834,15 +8834,10 @@
if (win->gtkconvs) {
while (win->gtkconvs) {
- GList *nextgtk = win->gtkconvs->next;
- PidginConversation *gtkconv = win->gtkconvs->data;
- GList *nextcore = gtkconv->convs->next;
- PurpleConversation *conv = gtkconv->convs->data;
- purple_conversation_destroy(conv);
- if (!nextgtk && !nextcore)
- /* we'll end up invoking ourselves when we destroy our last child */
- /* so don't destroy ourselves right now */
- return;
+ gboolean last = (win->gtkconvs->next == NULL);
+ close_conv_cb(NULL, NULL, win->gtkconvs->data);
+ if (last)
+ break;
}
return;
}