# HG changeset patch # User Will Thompson # Date 1194258553 0 # Node ID 5203f3836da525609ff773d7ee3521fc075346b1 # Parent c972c9311221552d1e2ec598c57ba35420559fd1 Really actually hide the description label inside a minidialog, even when someone calls show_all on the minidialog. The "no-show-all" gtkwidget property is useful! diff -r c972c9311221 -r 5203f3836da5 pidgin/gtkblist.c --- a/pidgin/gtkblist.c Mon Nov 05 01:39:39 2007 +0000 +++ b/pidgin/gtkblist.c Mon Nov 05 10:29:13 2007 +0000 @@ -4445,7 +4445,6 @@ account); add_error_dialog(gtkblist, mini_dialog); - gtk_widget_show_all(mini_dialog); } static void @@ -4524,10 +4523,6 @@ ignore_elsewhere_accounts, NULL); add_error_dialog(gtkblist, GTK_WIDGET(mini_dialog)); - gtk_widget_show_all(GTK_WIDGET(mini_dialog)); - - /* Hide the description field now that the dialog has been shown. */ - g_object_set(G_OBJECT(mini_dialog), "description", NULL, NULL); /* Set priv->signed_on_elsewhere to NULL when the dialog is destroyed */ g_signal_connect(G_OBJECT(mini_dialog), "destroy", diff -r c972c9311221 -r 5203f3836da5 pidgin/minidialog.c --- a/pidgin/minidialog.c Mon Nov 05 01:39:39 2007 +0000 +++ b/pidgin/minidialog.c Mon Nov 05 10:29:13 2007 +0000 @@ -226,11 +226,13 @@ g_free(desc_markup); gtk_widget_show(GTK_WIDGET(priv->desc)); + g_object_set(G_OBJECT(priv->desc), "no-show-all", FALSE, NULL); } else { gtk_label_set_text(priv->desc, NULL); gtk_widget_hide(GTK_WIDGET(priv->desc)); + g_object_set(G_OBJECT(priv->desc), "no-show-all", TRUE, NULL); } } @@ -342,6 +344,10 @@ gtk_widget_set_size_request(GTK_WIDGET(priv->desc), label_width, -1); gtk_label_set_line_wrap(priv->desc, TRUE); gtk_misc_set_alignment(GTK_MISC(priv->desc), 0, 0); + /* make calling show_all() on the minidialog not affect desc even though + * it's packed inside it. + */ + g_object_set(G_OBJECT(priv->desc), "no-show-all", TRUE, NULL); self->contents = GTK_BOX(gtk_vbox_new(FALSE, 0)); @@ -353,5 +359,4 @@ gtk_box_pack_start(self_box, GTK_WIDGET(priv->buttons), FALSE, FALSE, 0); gtk_widget_show_all(GTK_WIDGET(self)); - gtk_widget_hide(GTK_WIDGET(priv->desc)); }