diff --git a/thunar/thunar-icon-renderer.c b/thunar/thunar-icon-renderer.c index 1561dc719a31a52d85769f0f1b34cdb40a8e4e90..b0338d230cd63b67a0715bd76785c87561b08a6a 100644 --- a/thunar/thunar-icon-renderer.c +++ b/thunar/thunar-icon-renderer.c @@ -298,19 +298,21 @@ thunar_icon_renderer_get_preferred_height (GtkCellRenderer *renderer, - static void thunar_icon_renderer_color_selected (cairo_t *cr, GtkWidget *widget) { cairo_pattern_t *source; - GtkStateType state; + GtkStateFlags state; + GdkRGBA color; + GtkStyleContext *context = gtk_widget_get_style_context (widget); cairo_save (cr); source = cairo_pattern_reference (cairo_get_source (cr)); - state = gtk_widget_has_focus (widget) ? GTK_STATE_SELECTED : GTK_STATE_ACTIVE; - gdk_cairo_set_source_color (cr, >k_widget_get_style (widget)->base[state]); + state = gtk_widget_has_focus (widget) ? GTK_STATE_FLAG_SELECTED : GTK_STATE_FLAG_ACTIVE; + gtk_style_context_get (context, state, GTK_STYLE_PROPERTY_BACKGROUND_COLOR, &color, NULL); + gdk_cairo_set_source_rgba (cr, &color); cairo_set_operator (cr, CAIRO_OPERATOR_MULTIPLY); cairo_mask (cr, source);