From dae5eadf1a974521772daae254193a07dac19660 Mon Sep 17 00:00:00 2001 From: deepend Date: Thu, 22 Jan 2026 23:18:59 -0700 Subject: [PATCH] Updated setup color dialog RGBA derivation to parse hex palette components with gdk_rgba_parse for GTK3 paths. Standardized GtkCellRendererText foreground color binding to use the palette foreground property macro across user list, DCC, and notify views. --- src/fe-gtk/dccgui.c | 6 +----- src/fe-gtk/notifygui.c | 4 ++-- src/fe-gtk/setup.c | 7 +++++-- src/fe-gtk/userlistgui.c | 6 +----- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/fe-gtk/dccgui.c b/src/fe-gtk/dccgui.c index cbe587a9..9604cb09 100644 --- a/src/fe-gtk/dccgui.c +++ b/src/fe-gtk/dccgui.c @@ -731,11 +731,7 @@ static void dcc_add_column (GtkWidget *tree, int textcol, int colorcol, char *title, gboolean right_justified) { GtkCellRenderer *renderer; -#if GTK_CHECK_VERSION(3,0,0) - const char *foreground_property = "foreground-rgba"; -#else - const char *foreground_property = "foreground-gdk"; -#endif + const char *foreground_property = PALETTE_FOREGROUND_PROPERTY; renderer = gtk_cell_renderer_text_new (); if (right_justified) diff --git a/src/fe-gtk/notifygui.c b/src/fe-gtk/notifygui.c index d1e39c45..6ddcd212 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), "foreground-rgba", colour, NULL); + g_object_set (G_OBJECT (cell), PALETTE_FOREGROUND_PROPERTY, colour, NULL); if (colour) gdk_rgba_free (colour); #else - g_object_set (G_OBJECT (cell), "foreground-gdk", colour, NULL); + g_object_set (G_OBJECT (cell), PALETTE_FOREGROUND_PROPERTY, colour, NULL); if (colour) gdk_color_free (colour); #endif diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c index 7d9507af..b7ffce73 100644 --- a/src/fe-gtk/setup.c +++ b/src/fe-gtk/setup.c @@ -1536,9 +1536,12 @@ typedef struct static void setup_rgba_from_palette (const PaletteColor *color, GdkRGBA *rgba) { - g_autofree char *color_string = gdk_rgba_to_string (color); + guint16 red, green, blue; + char color_string[16]; - if (!color_string || !gdk_rgba_parse (rgba, color_string)) + 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; } diff --git a/src/fe-gtk/userlistgui.c b/src/fe-gtk/userlistgui.c index 25ccd8b6..14a93986 100644 --- a/src/fe-gtk/userlistgui.c +++ b/src/fe-gtk/userlistgui.c @@ -533,11 +533,7 @@ static void userlist_add_columns (GtkTreeView * treeview) { GtkCellRenderer *renderer; -#if GTK_CHECK_VERSION(3,0,0) - const char *foreground_property = "foreground-rgba"; -#else - const char *foreground_property = "foreground-gdk"; -#endif + const char *foreground_property = PALETTE_FOREGROUND_PROPERTY; /* icon column */ renderer = gtk_cell_renderer_pixbuf_new ();