[evolution] Bug #661434 - Unfriendly search result



commit 6d2863d35a413fd8e1164b852597ecee44701dca
Author: Milan Crha <mcrha redhat com>
Date:   Tue Oct 11 15:21:41 2011 +0200

    Bug #661434 - Unfriendly search result

 widgets/text/e-text.c |    6 +++++-
 widgets/text/e-text.h |    1 +
 2 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/widgets/text/e-text.c b/widgets/text/e-text.c
index d7512a5..8e2149c 100644
--- a/widgets/text/e-text.c
+++ b/widgets/text/e-text.c
@@ -773,6 +773,7 @@ e_text_set_property (GObject *object,
 			      (color.green & 0xff00) << 8 |
 			      (color.blue & 0xff00) |
 			      0xff);
+		text->rgba_set = TRUE;
 		text->needs_redraw = 1;
 		needs_update = 1;
 		break;
@@ -787,6 +788,7 @@ e_text_set_property (GObject *object,
 			      (color.green & 0xff00) << 8 |
 			      (color.blue & 0xff00) |
 			      0xff);
+		text->rgba_set = TRUE;
 		text->needs_redraw = 1;
 		needs_update = 1;
 		break;
@@ -796,6 +798,7 @@ e_text_set_property (GObject *object,
 		color.red = ((text->rgba >> 24) & 0xff) * 0x101;
 		color.green = ((text->rgba >> 16) & 0xff) * 0x101;
 		color.blue = ((text->rgba >> 8) & 0xff) * 0x101;
+		text->rgba_set = TRUE;
 		text->needs_redraw = 1;
 		needs_update = 1;
 		break;
@@ -1308,7 +1311,7 @@ e_text_draw (GnomeCanvasItem *item,
 
 	cairo_save (cr);
 
-	if (text->draw_background || text->draw_button) {
+	if (text->draw_background || text->draw_button || !text->rgba_set) {
 		gdk_cairo_set_source_color (cr, &style->fg[state]);
 	} else {
 		cairo_set_source_rgba (cr,
@@ -3500,6 +3503,7 @@ e_text_init (EText *text)
 	text->im_context_signals_registered = FALSE;
 
 	text->handle_popup            = FALSE;
+	text->rgba_set		      = FALSE;
 
 	e_canvas_item_set_reflow_callback (GNOME_CANVAS_ITEM (text), e_text_reflow);
 }
diff --git a/widgets/text/e-text.h b/widgets/text/e-text.h
index ef9aefd..aa84553 100644
--- a/widgets/text/e-text.h
+++ b/widgets/text/e-text.h
@@ -128,6 +128,7 @@ struct _EText {
 	gint height;			/* Rendered text height in pixels */
 
 	guint32 rgba;			/* RGBA color for text */
+	gboolean rgba_set;		/* whether RGBA is set */
 
 	gchar *ellipsis;                 /* The ellipsis characters.  NULL = "...". */
 	gdouble ellipsis_width;          /* The width of the ellipsis. */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]