changeset 12479:53e2dc07d9e2

[gaim-migrate @ 14790] SF Patch #1379776 from charkins "This is a small fix to the blist visibility stuff. When the blist is set hidden and there is no visibility manager, the blist gets minimized. However, if there was previously a visibility manager and the blist was already hidden, it doesn't get shown before it is iconified. This patch fixes that. In addition, I added two debug statements to track the count of visibility managers. This will be helpful for diagnosing visibility issues if users send in debug logs." committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Tue, 13 Dec 2005 23:35:46 +0000
parents 8489040cf97b
children 577c75743cb1
files src/gtkblist.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/gtkblist.c	Tue Dec 13 23:25:24 2005 +0000
+++ b/src/gtkblist.c	Tue Dec 13 23:35:46 2005 +0000
@@ -4229,6 +4229,8 @@
 			gaim_signal_emit(gaim_gtk_blist_get_handle(), "gtkblist-hiding", gtkblist);
 			gtk_widget_hide(gtkblist->window);
 		} else {
+			if (!GTK_WIDGET_VISIBLE(gtkblist->window))
+				gtk_widget_show(gtkblist->window);
 			gtk_window_iconify(GTK_WINDOW(gtkblist->window));
 		}
 	}
@@ -4876,6 +4878,7 @@
 gaim_gtk_blist_visibility_manager_add()
 {
 	visibility_manager_count++;
+	gaim_debug_info("gtkblist", "added visibility manager: %d\n", visibility_manager_count);
 }
 
 void
@@ -4885,6 +4888,7 @@
 		visibility_manager_count--;
 	if (!visibility_manager_count)
 		gaim_blist_set_visible(gaim_prefs_get_bool("/gaim/gtk/blist/list_visible"));
+	gaim_debug_info("gtkblist", "removed visibility manager: %d\n", visibility_manager_count);
 }