diff options
Diffstat (limited to 'shell/e-gray-bar.c')
-rw-r--r-- | shell/e-gray-bar.c | 26 |
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; } |