Skip to content

Commit 87ff53b

Browse files
committed
mate-colorsel: avoid deprecated 'gtk_widget_modify_bg'
1 parent c15a018 commit 87ff53b

File tree

1 file changed

+26
-5
lines changed

1 file changed

+26
-5
lines changed

libmate-desktop/mate-colorsel.c

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1226,20 +1226,41 @@ palette_change_color (GtkWidget *drawing_area,
12261226
g_free (current_colors);
12271227
}
12281228

1229+
static void
1230+
override_background_color (GtkWidget *widget,
1231+
GdkRGBA *rgba)
1232+
{
1233+
gchar *css;
1234+
GtkCssProvider *provider;
1235+
1236+
provider = gtk_css_provider_new ();
1237+
1238+
css = g_strdup_printf ("* { background-color: %s;}",
1239+
gdk_rgba_to_string (rgba));
1240+
gtk_css_provider_load_from_data (provider, css, -1, NULL);
1241+
g_free (css);
1242+
1243+
gtk_style_context_add_provider (gtk_widget_get_style_context (widget),
1244+
GTK_STYLE_PROVIDER (provider),
1245+
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
1246+
g_object_unref (provider);
1247+
}
1248+
12291249
/* Changes the view color */
12301250
static void
12311251
palette_set_color (GtkWidget *drawing_area,
12321252
MateColorSelection *colorsel,
12331253
gdouble *color)
12341254
{
12351255
gdouble *new_color = g_new (double, 4);
1236-
GdkColor gdk_color;
1256+
GdkRGBA box_color;
12371257

1238-
gdk_color.red = UNSCALE (color[0]);
1239-
gdk_color.green = UNSCALE (color[1]);
1240-
gdk_color.blue = UNSCALE (color[2]);
1258+
box_color.red = color[0];
1259+
box_color.green = color[1];
1260+
box_color.blue = color[2];
1261+
box_color.alpha = 1;
12411262

1242-
gtk_widget_modify_bg (drawing_area, GTK_STATE_NORMAL, &gdk_color);
1263+
override_background_color (drawing_area, &box_color);
12431264

12441265
if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (drawing_area), "color_set")) == 0)
12451266
{

0 commit comments

Comments
 (0)