# HG changeset patch # User Paul Aurich # Date 1241038865 0 # Node ID 3b674151cd60591c17d9cfd6c8530e34470534c3 # Parent f424f26dd32951aa90ab95b9cde4753e55375e9c *** Plucked rev 4831edb9 (darkrain42@pidgin.im): Don't call jabber_parser_close_stream in jabber_close, it papers over a real issue. diff -r f424f26dd329 -r 3b674151cd60 libpurple/protocols/jabber/jabber.c --- a/libpurple/protocols/jabber/jabber.c Wed Apr 29 20:57:53 2009 +0000 +++ b/libpurple/protocols/jabber/jabber.c Wed Apr 29 21:01:05 2009 +0000 @@ -1323,6 +1323,11 @@ jabber_unregister_account_cb(js); } +/* TODO: As Will pointed out in IRC, after being notified by the core to + * shutdown, we should async. wait for the server to send us the stream + * termination before destorying everything. That seems like it would require + * changing the semantics of prpl->close(), so it's a good idea for 3.0.0. + */ void jabber_close(PurpleConnection *gc) { JabberStream *js = gc->proto_data; @@ -1334,16 +1339,6 @@ if (!gc->disconnect_timeout) jabber_send_raw(js, "", -1); - if (!purple_account_get_current_error(purple_connection_get_account(gc))) { - /* - * The common case is user-triggered, so we never receive a - * from the server when disconnecting, so silence the - * parser's warnings. On errors, though, the server terminated the - * connection, so we should have received a real . - */ - jabber_parser_close_stream(js); - } - if (js->srv_query_data) purple_srv_cancel(js->srv_query_data);