diff --git a/src/fe-gtk/dccgui.c b/src/fe-gtk/dccgui.c index 9604cb09..cbe587a9 100644 --- a/src/fe-gtk/dccgui.c +++ b/src/fe-gtk/dccgui.c @@ -731,7 +731,11 @@ static void dcc_add_column (GtkWidget *tree, int textcol, int colorcol, char *title, gboolean right_justified) { GtkCellRenderer *renderer; - const char *foreground_property = PALETTE_FOREGROUND_PROPERTY; +#if GTK_CHECK_VERSION(3,0,0) + const char *foreground_property = "foreground-rgba"; +#else + const char *foreground_property = "foreground-gdk"; +#endif renderer = gtk_cell_renderer_text_new (); if (right_justified) diff --git a/src/fe-gtk/notifygui.c b/src/fe-gtk/notifygui.c index 6ddcd212..d1e39c45 100644 --- a/src/fe-gtk/notifygui.c +++ b/src/fe-gtk/notifygui.c @@ -80,11 +80,11 @@ notify_treecell_property_mapper (GtkTreeViewColumn *col, GtkCellRenderer *cell, model_column, &text, -1); g_object_set (G_OBJECT (cell), "text", text, NULL); #if GTK_CHECK_VERSION(3,0,0) - g_object_set (G_OBJECT (cell), PALETTE_FOREGROUND_PROPERTY, colour, NULL); + g_object_set (G_OBJECT (cell), "foreground-rgba", colour, NULL); if (colour) gdk_rgba_free (colour); #else - g_object_set (G_OBJECT (cell), PALETTE_FOREGROUND_PROPERTY, colour, NULL); + g_object_set (G_OBJECT (cell), "foreground-gdk", colour, NULL); if (colour) gdk_color_free (colour); #endif diff --git a/src/fe-gtk/palette.c b/src/fe-gtk/palette.c index 8e74ab31..245a3f66 100644 --- a/src/fe-gtk/palette.c +++ b/src/fe-gtk/palette.c @@ -47,12 +47,13 @@ static void palette_color_set_rgb16 (PaletteColor *color, guint16 red, guint16 green, guint16 blue) { -#if GTK_CHECK_VERSION(3,0,0) - GdkRGBA parsed; - gboolean parsed_ok; char color_string[16]; g_snprintf (color_string, sizeof (color_string), "#%04x%04x%04x", red, green, blue); +#if GTK_CHECK_VERSION(3,0,0) + GdkRGBA parsed; + gboolean parsed_ok; + parsed_ok = gdk_rgba_parse (&parsed, color_string); if (!parsed_ok) { @@ -63,10 +64,13 @@ palette_color_set_rgb16 (PaletteColor *color, guint16 red, guint16 green, guint1 } *color = parsed; #else - color->red = red; - color->green = green; - color->blue = blue; - color->pixel = 0; + if (!gdk_color_parse (color_string, color)) + { + color->red = red; + color->green = green; + color->blue = blue; + color->pixel = 0; + } #endif } diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c index b7ffce73..f22e4b40 100644 --- a/src/fe-gtk/setup.c +++ b/src/fe-gtk/setup.c @@ -1542,7 +1542,12 @@ setup_rgba_from_palette (const PaletteColor *color, GdkRGBA *rgba) palette_color_get_rgb16 (color, &red, &green, &blue); g_snprintf (color_string, sizeof (color_string), "#%04x%04x%04x", red, green, blue); if (!gdk_rgba_parse (rgba, color_string)) - *rgba = *color; + { + rgba->red = red / 65535.0; + rgba->green = green / 65535.0; + rgba->blue = blue / 65535.0; + rgba->alpha = 1.0; + } } static void diff --git a/src/fe-gtk/userlistgui.c b/src/fe-gtk/userlistgui.c index 14a93986..25ccd8b6 100644 --- a/src/fe-gtk/userlistgui.c +++ b/src/fe-gtk/userlistgui.c @@ -533,7 +533,11 @@ static void userlist_add_columns (GtkTreeView * treeview) { GtkCellRenderer *renderer; - const char *foreground_property = PALETTE_FOREGROUND_PROPERTY; +#if GTK_CHECK_VERSION(3,0,0) + const char *foreground_property = "foreground-rgba"; +#else + const char *foreground_property = "foreground-gdk"; +#endif /* icon column */ renderer = gtk_cell_renderer_pixbuf_new ();