--- a/infopane/infopane.c Sun Aug 03 01:49:15 2008 -0400
+++ b/infopane/infopane.c Sun Aug 03 02:17:43 2008 -0400
@@ -100,18 +100,11 @@
-static void setup_callback(PurpleConversation *conv, gboolean (*callback)(gpointer data))
- g_timeout_add(1000, callback, conv);
static void conversation_deleted(PurpleConversation *conv)
PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv);
PidginWindow *win = gtkconv->win;
- if (win->gtkconvs->next) {
+ if (win->gtkconvs->next && !win->gtkconvs->next->next) { /* There are only two tabs in the window */ PidginConversation *p = win->gtkconvs->data;
@@ -121,13 +114,6 @@
G_CALLBACK(g_source_remove), GINT_TO_POINTER(id));
-call_ensure_tabs_are_showing(PurpleConversation *conv)
- g_timeout_add(0, (GSourceFunc)ensure_tabs_are_showing, conv);
pref_changed(gpointer data, ...)
@@ -159,14 +145,12 @@
purple_signal_connect(purple_conversations_get_handle(),
plugin, PURPLE_CALLBACK(conversation_deleted), NULL);
purple_signal_connect(pidgin_conversations_get_handle(),
- plugin, PURPLE_CALLBACK(call_ensure_tabs_are_showing), NULL);
+ plugin, PURPLE_CALLBACK(ensure_tabs_are_showing), NULL); purple_prefs_connect_callback(plugin, PREF_POSITION, (PurplePrefCallback)pref_changed, NULL);
purple_prefs_connect_callback(plugin, PREF_DRAG, (PurplePrefCallback)pref_changed, NULL);