changeset 17238:b25c4fe3a8ce

merge of '0dc88a60c9f45d428227765d7948abfd6fd3bc00' and '41a02fda7df68e244c0c9c73780f398fa4ae5fcc'
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Tue, 22 May 2007 07:51:02 +0000
parents 5033139b3ead (diff) 3980c6462564 (current diff)
children b61baeefbe38
files
diffstat 1 files changed, 18 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/pidgin/gtkdebug.c	Tue May 22 06:36:14 2007 +0000
+++ b/pidgin/gtkdebug.c	Tue May 22 07:51:02 2007 +0000
@@ -77,6 +77,7 @@
 };
 
 static DebugWindow *debug_win = NULL;
+static guint debug_enabled_timer = 0;
 
 #ifdef HAVE_REGEX_H
 static void regex_filter_all(DebugWindow *win);
@@ -864,14 +865,24 @@
 	return win;
 }
 
+static gboolean
+debug_enabled_timeout_cb(gpointer data)
+{
+	debug_enabled_timer = 0;
+
+	if (data)
+		pidgin_debug_window_show();
+	else
+		pidgin_debug_window_hide();
+
+	return FALSE;
+}
+
 static void
 debug_enabled_cb(const char *name, PurplePrefType type,
 				 gconstpointer value, gpointer data)
 {
-	if (value)
-		pidgin_debug_window_show();
-	else
-		pidgin_debug_window_hide();
+	debug_enabled_timer = g_timeout_add(0, debug_enabled_timeout_cb, GINT_TO_POINTER(GPOINTER_TO_INT(value)));
 }
 
 static void
@@ -984,6 +995,9 @@
 pidgin_debug_uninit(void)
 {
 	purple_debug_set_ui_ops(NULL);
+
+	if (debug_enabled_timer != 0)
+		g_source_remove(debug_enabled_timer);
 }
 
 void