From b04f4c536aeab4281a9f0117e67accae19d691b9 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 17 Mar 2011 17:59:46 +0000 Subject: [PATCH] notebook: Don't set notebook style with hidden tabs When tabs are not shown, and the notebook is used as a container, we should not set the notebook style, otherwise the theme has no way to know whether tabs are shown or not, and which colour to draw the background. https://bugzilla.gnome.org/show_bug.cgi?id=640692 --- gtk/gtknotebook.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index c5a9371a47..563b1abf2d 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -7078,6 +7078,7 @@ gtk_notebook_set_show_tabs (GtkNotebook *notebook, { GtkNotebookPrivate *priv; GtkNotebookPage *page; + GtkStyleContext *context; GList *children; gint i; @@ -7092,6 +7093,7 @@ gtk_notebook_set_show_tabs (GtkNotebook *notebook, priv->show_tabs = show_tabs; children = priv->children; + context = gtk_widget_get_style_context (GTK_WIDGET (notebook)); if (!show_tabs) { @@ -7109,11 +7111,14 @@ gtk_notebook_set_show_tabs (GtkNotebook *notebook, else gtk_widget_hide (page->tab_label); } + + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_NOTEBOOK); } else { gtk_widget_set_can_focus (GTK_WIDGET (notebook), TRUE); gtk_notebook_update_labels (notebook); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_NOTEBOOK); } for (i = 0; i < N_ACTION_WIDGETS; i++)