Instead of allowing it to be implicitly closed by the final unref, close
it explicitly. This allows us to fix up the refcounting elsewhere, so
the objects associated with the connection can just hold a ref to it.
It was kind of OK for rooms/conversations but it's getting silly with
meetings adn calls.
g_signal_handlers_disconnect_matched(pc->cxn, G_SIGNAL_MATCH_DATA,
0, 0, NULL, NULL, conn);
+ chime_connection_disconnect(pc->cxn);
g_clear_object(&pc->cxn);
g_free(pc);
purple_connection_set_protocol_data(conn, NULL);
- purple_debug(PURPLE_DEBUG_INFO, "chime", "Chime close");
+ purple_debug(PURPLE_DEBUG_INFO, "chime", "Chime close\n");
}