aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-08-14 06:50:06 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-08-14 06:50:06 +0800
commit6e2db6b3bd951c62ae11dab8f0ba9f4611470c6e (patch)
treee403511576b0c7b9a8157e1193e2b0d6adb53bfd /shell
parented41e07a8b10c106d6d2d8d53be928ca42a7c74d (diff)
downloadgsoc2013-evolution-6e2db6b3bd951c62ae11dab8f0ba9f4611470c6e.tar.gz
gsoc2013-evolution-6e2db6b3bd951c62ae11dab8f0ba9f4611470c6e.tar.zst
gsoc2013-evolution-6e2db6b3bd951c62ae11dab8f0ba9f4611470c6e.zip
Revert the previous e-gray-bar patch as it was, um, wrong.
svn path=/trunk/; revision=11974
Diffstat (limited to 'shell')
-rw-r--r--shell/ChangeLog6
-rw-r--r--shell/e-gray-bar.c26
2 files changed, 19 insertions, 13 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 7430442383..1ad77d0682 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -5,12 +5,6 @@
2001-08-13 Ettore Perazzoli <ettore@ximian.com>
- * e-gray-bar.c (impl_style_set): Removed.
- (class_init): Don't override that method anymore.
- (e_gray_bar_new): Call `endarken_style()' here instead.
-
-2001-08-13 Ettore Perazzoli <ettore@ximian.com>
-
[Fix #7109, Evolution crashes when the splash screen dialog is
killed by clicking the "X" button.]
diff --git a/shell/e-gray-bar.c b/shell/e-gray-bar.c
index be8daa50c5..1058bf5740 100644
--- a/shell/e-gray-bar.c
+++ b/shell/e-gray-bar.c
@@ -44,7 +44,6 @@ endarken_style (GtkWidget *widget)
GtkStyle *style;
GtkRcStyle *new_rc_style;
int i;
- static int first_time = TRUE;
style = widget->style;
@@ -67,16 +66,30 @@ endarken_style (GtkWidget *widget)
new_rc_style->color_flags[i] = GTK_RC_BG | GTK_RC_FG | GTK_RC_BASE | GTK_RC_TEXT;
}
- if (first_time) {
- gtk_widget_modify_style (widget, new_rc_style);
- first_time = FALSE;
- }
+ gtk_widget_modify_style (widget, new_rc_style);
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;
@@ -84,6 +97,7 @@ 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
@@ -99,8 +113,6 @@ e_gray_bar_new (void)
new = gtk_type_new (e_gray_bar_get_type ());
- endarken_style (new);
-
return new;
}