[gtk+] textdisplay: save/restore when using different state flags
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] textdisplay: save/restore when using different state flags
- Date: Mon, 9 Nov 2015 13:20:26 +0000 (UTC)
commit a0d9728e6c4fcf946418c9b1bd51a47b2ea02460
Author: Benjamin Otte <otte redhat com>
Date: Mon Nov 9 14:17:09 2015 +0100
textdisplay: save/restore when using different state flags
Also, never use gtk_widget_get_state_flags() when we want
gtk_style_context_get_state()
gtk/gtktextdisplay.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtktextdisplay.c b/gtk/gtktextdisplay.c
index fb5ab26..6b5dbf4 100644
--- a/gtk/gtktextdisplay.c
+++ b/gtk/gtktextdisplay.c
@@ -183,7 +183,7 @@ gtk_text_renderer_prepare_run (PangoRenderer *renderer,
g_assert (appearance != NULL);
context = gtk_widget_get_style_context (text_renderer->widget);
- state = gtk_widget_get_state_flags (text_renderer->widget);
+ state = gtk_style_context_get_state (context);
if (appearance->draw_bg && text_renderer->state == NORMAL)
bg_rgba = appearance->rgba[0];
@@ -194,9 +194,14 @@ gtk_text_renderer_prepare_run (PangoRenderer *renderer,
if (text_renderer->state == SELECTED)
{
+ gtk_style_context_save (context);
+
state |= GTK_STATE_FLAG_SELECTED;
+ gtk_style_context_set_state (context, state);
gtk_style_context_get (context, state, "color", &fg_rgba, NULL);
+
+ gtk_style_context_restore (context);
}
else if (text_renderer->state == CURSOR && gtk_widget_has_focus (text_renderer->widget))
{
@@ -523,7 +528,7 @@ text_renderer_begin (GtkTextRenderer *text_renderer,
gtk_style_context_save (context);
gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW);
- state = gtk_widget_get_state_flags (widget);
+ state = gtk_style_context_get_state (context);
gtk_style_context_get_color (context, state, &color);
cairo_save (cr);
@@ -820,7 +825,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS
{
GdkRGBA color;
- state = gtk_widget_get_state_flags (text_renderer->widget);
+ state = gtk_style_context_get_state (context);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
gtk_style_context_get_background_color (context, state, &color);
G_GNUC_END_IGNORE_DEPRECATIONS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]