merge of 'b3d6edb627e3ffdc5e430fadbfd982a10d6057ec'

Sun, 24 Jun 2007 17:52:52 +0000

author
Nathan Walp <nwalp@pidgin.im>
date
Sun, 24 Jun 2007 17:52:52 +0000
changeset 18329
35b17dd5d58d
parent 18328
b3d6edb627e3 (current diff)
parent 18318
146d6831fc3d (diff)
child 18330
7691560126ca
child 18333
2ded5fe120f7

merge of 'b3d6edb627e3ffdc5e430fadbfd982a10d6057ec'
and '146d6831fc3d1fdf025c5ae60bc4976eaed5c987'

--- a/pidgin/gtkstatusbox.c	Sun Jun 24 17:31:23 2007 +0000
+++ b/pidgin/gtkstatusbox.c	Sun Jun 24 17:52:52 2007 +0000
@@ -1016,8 +1016,8 @@
 	}
 }
 
-static void
-pidgin_status_box_regenerate(PidginStatusBox *status_box)
+static gboolean
+pidgin_status_box_regenerate_real(PidginStatusBox *status_box)
 {
 	GdkPixbuf *pixbuf, *pixbuf2, *pixbuf3, *pixbuf4, *pixbuf5;
 	GtkIconSize icon_size;
@@ -1081,11 +1081,21 @@
 	}
 	gtk_tree_view_set_model(GTK_TREE_VIEW(status_box->tree_view), GTK_TREE_MODEL(status_box->dropdown_store));
 	gtk_tree_view_set_search_column(GTK_TREE_VIEW(status_box->tree_view), TEXT_COLUMN);
+
+	return FALSE;
+}
+
+static void
+pidgin_status_box_regenerate(PidginStatusBox *status_box)
+{
+	/* we have to do this in a timeout, so we avoid recursing
+	 * to infinity (and beyond) */
+	purple_timeout_add(0, (GSourceFunc)pidgin_status_box_regenerate_real, status_box);
 }
 
 static gboolean combo_box_scroll_event_cb(GtkWidget *w, GdkEventScroll *event, GtkIMHtml *imhtml)
 {
-  	pidgin_status_box_popup(PIDGIN_STATUS_BOX(w));
+	pidgin_status_box_popup(PIDGIN_STATUS_BOX(w));
 	return TRUE;
 }
 

mercurial