aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-gray-bar.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-gray-bar.c')
-rw-r--r--shell/e-gray-bar.c26
1 files changed, 7 insertions, 19 deletions
diff --git a/shell/e-gray-bar.c b/shell/e-gray-bar.c
index 1058bf5740..be8daa50c5 100644
--- a/shell/e-gray-bar.c
+++ b/shell/e-gray-bar.c
@@ -44,6 +44,7 @@ endarken_style (GtkWidget *widget)
GtkStyle *style;
GtkRcStyle *new_rc_style;
int i;
+ static int first_time = TRUE;
style = widget->style;
@@ -66,30 +67,16 @@ endarken_style (GtkWidget *widget)
new_rc_style->color_flags[i] = GTK_RC_BG | GTK_RC_FG | GTK_RC_BASE | GTK_RC_TEXT;
}
- gtk_widget_modify_style (widget, new_rc_style);
+ if (first_time) {
+ gtk_widget_modify_style (widget, new_rc_style);
+ first_time = FALSE;
+ }
gtk_rc_style_unref (new_rc_style);
}
static void
-impl_style_set (GtkWidget *widget,
- GtkStyle *previous_style)
-{
- static int in_style_set = 0;
-
- if (in_style_set > 0)
- return;
-
- in_style_set ++;
-
- endarken_style (widget);
-
- in_style_set --;
-}
-
-
-static void
class_init (GtkObjectClass *object_class)
{
GtkWidgetClass *widget_class;
@@ -97,7 +84,6 @@ class_init (GtkObjectClass *object_class)
parent_class = gtk_type_class (PARENT_TYPE);
widget_class = GTK_WIDGET_CLASS (object_class);
- widget_class->style_set = impl_style_set;
}
static void
@@ -113,6 +99,8 @@ e_gray_bar_new (void)
new = gtk_type_new (e_gray_bar_get_type ());
+ endarken_style (new);
+
return new;
}