im.pidgin.pidgin: 144eb45526482e0f97ca1deca742f41309005db7
resiak at soc.pidgin.im
resiak at soc.pidgin.im
Mon Dec 17 07:15:48 EST 2007
-----------------------------------------------------------------
Revision: 144eb45526482e0f97ca1deca742f41309005db7
Ancestor: 8378d3112937bfaee9ab5aa40d6cad662d874615
Author: resiak at soc.pidgin.im
Date: 2007-12-17T12:09:19
Branch: im.pidgin.pidgin
Modified files:
pidgin/gtkblist.c
ChangeLog:
Dismissing the signed on elsewhere minidialog should clear all the errors;
otherwise the minidialog comes back whenever you restart. (Other errors are
already cleared when you close their minidialog.)
-------------- next part --------------
============================================================
--- pidgin/gtkblist.c 9dd63f2810bc42c1b2dbdbf2af73731616e9161f
+++ pidgin/gtkblist.c 5bf533435ff1c691151d084855ba77027f314472
@@ -4643,6 +4643,13 @@ static void
}
static void
+clear_elsewhere_errors(PidginMiniDialog *mini_dialog,
+ gpointer unused)
+{
+ elsewhere_foreach_account(mini_dialog, purple_account_clear_current_error);
+}
+
+static void
ensure_signed_on_elsewhere_minidialog(PidginBuddyList *gtkblist)
{
PidginBuddyListPrivate *priv = PIDGIN_BUDDY_LIST_GET_PRIVATE(gtkblist);
@@ -4657,6 +4664,12 @@ ensure_signed_on_elsewhere_minidialog(Pi
pidgin_mini_dialog_add_button(mini_dialog, _("Re-enable"),
reconnect_elsewhere_accounts, NULL);
+ /* Make dismissing the dialog clear the errors. The "destroy" signal
+ * does not appear to fire at quit, which is fortunate!
+ */
+ g_signal_connect(G_OBJECT(mini_dialog), "destroy",
+ (GCallback) clear_elsewhere_errors, NULL);
+
add_error_dialog(gtkblist, GTK_WIDGET(mini_dialog));
/* Set priv->signed_on_elsewhere to NULL when the dialog is destroyed */
More information about the Commits
mailing list