changeset 21497:e2e70f45307f

Remove account error dialogs from the scrollbook's notebook, not from the scrollbook. (I think the scrollbook's GtkContainer implementation is faulty.) Stops a bug where network_error mini-dialogs proliferate whenever you auto-reconnect, which datallah noticed.
author Will Thompson <will.thompson@collabora.co.uk>
date Wed, 14 Nov 2007 12:26:52 +0000
parents 0df3d6b11d05
children 040b4f646f35
files pidgin/gtkblist.c
diffstat 1 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/pidgin/gtkblist.c	Wed Nov 14 12:16:30 2007 +0000
+++ b/pidgin/gtkblist.c	Wed Nov 14 12:26:52 2007 +0000
@@ -110,13 +110,13 @@
 
 typedef struct
 {
-	/** PidginScrollBook used to hold error minidialogs.  Gets packed
-	 * inside PidginBuddyList.error_buttons
+	/** Used to hold error minidialogs.  Gets packed
+	 *  inside PidginBuddyList.error_buttons
 	 */
-	GtkWidget *error_scrollbook;
+	PidginScrollBook *error_scrollbook;
 
 	/** Pointer to the mini-dialog about having signed on elsewhere, if one
-	 * is showing; @c NULL otherwise.
+	 *  is showing; @c NULL otherwise.
 	 */
 	PidginMiniDialog *signed_on_elsewhere;
 } PidginBuddyListPrivate;
@@ -4538,8 +4538,8 @@
 remove_generic_error_dialog(PurpleAccount *account)
 {
 	PidginBuddyListPrivate *priv = PIDGIN_BUDDY_LIST_GET_PRIVATE(gtkblist);
-	remove_child_widget_by_account(GTK_CONTAINER(priv->error_scrollbook),
-		account);
+	remove_child_widget_by_account(
+		GTK_CONTAINER(priv->error_scrollbook->notebook), account);
 }
 
 
@@ -5230,9 +5230,9 @@
 	gtk_box_pack_start(GTK_BOX(gtkblist->vbox), gtkblist->error_buttons, FALSE, FALSE, 0);
 	gtk_container_set_border_width(GTK_CONTAINER(gtkblist->error_buttons), 0);
 
-	priv->error_scrollbook = pidgin_scroll_book_new();
+	priv->error_scrollbook = PIDGIN_SCROLL_BOOK(pidgin_scroll_book_new());
 	gtk_box_pack_start(GTK_BOX(gtkblist->error_buttons),
-		priv->error_scrollbook, FALSE, FALSE, 0);
+		GTK_WIDGET(priv->error_scrollbook), FALSE, FALSE, 0);
 
 
 	/* Add the statusbox */