aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--widgets/text/e-text.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/widgets/text/e-text.c b/widgets/text/e-text.c
index 0de86fbec2..e59bde6b7f 100644
--- a/widgets/text/e-text.c
+++ b/widgets/text/e-text.c
@@ -1378,10 +1378,7 @@ e_text_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
(color.green & 0xff00) << 8 |
(color.blue & 0xff00) |
0xff);
- text->color = color;
color_changed = TRUE;
- text->needs_redraw = 1;
- needs_update = 1;
break;
case ARG_FILL_COLOR_GDK:
@@ -1394,17 +1391,15 @@ e_text_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
(color.green & 0xff00) << 8 |
(color.blue & 0xff00) |
0xff);
- text->color = color;
color_changed = TRUE;
- text->needs_redraw = 1;
- needs_update = 1;
break;
case ARG_FILL_COLOR_RGBA:
text->rgba = GTK_VALUE_UINT (*arg);
+ color.red = ((text->rgba >> 24) & 0xff) * 0x101;
+ color.green = ((text->rgba >> 16) & 0xff) * 0x101;
+ color.blue = ((text->rgba >> 8) & 0xff) * 0x101;
color_changed = TRUE;
- text->needs_redraw = 1;
- needs_update = 1;
break;
case ARG_FILL_STIPPLE:
@@ -1511,9 +1506,13 @@ e_text_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
if (GNOME_CANVAS_ITEM_REALIZED & GTK_OBJECT_FLAGS(item))
gdk_color_context_query_color (item->canvas->cc, &color);
+ text->color = color;
+
if (!item->canvas->aa)
set_text_gc_foreground (text);
+ text->needs_redraw = 1;
+ needs_update = 1;
}
if ( needs_reflow )