Skip to content
Permalink
Browse files

theme: Allow disabling fallback colors in gtk:custom()

gtk:custom() requires a fallback color in case the GTK+ theme in use
does not define the desired color. As in general the fallback color
will approximate the intended color, there is the risk of typos going
unnoticed. To make catching these kind of errors easier, allow to ignore
the fallback color specified (and fall back to a nice shade of pink
instead) by setting an environment variable.

https://bugzilla.gnome.org/show_bug.cgi?id=656112
  • Loading branch information...
Florian Müllner authored and vkareh committed Aug 7, 2011
1 parent 18bfff3 commit 6203779411c96ed94f1e57a4514e42aa3eb024b7
Showing with 20 additions and 4 deletions.
  1. +20 −4 src/ui/theme.c
@@ -1170,8 +1170,15 @@ meta_color_spec_new_from_string (const char *str,
str[8] == 'o' && str[9] == 'm')
{
const char *color_name_start, *fallback_str_start, *end;
char *color_name, *fallback_str;
char *color_name;
MetaColorSpec *fallback = NULL;
static gboolean debug, debug_set = FALSE;

if (!debug_set)
{
debug = g_getenv ("MUTTER_DISABLE_FALLBACK_COLOR") != NULL;
debug_set = TRUE;
}

if (str[10] != '(')
{
@@ -1212,9 +1219,18 @@ meta_color_spec_new_from_string (const char *str,
return NULL;
}

fallback_str = g_strndup (fallback_str_start, end - fallback_str_start);
fallback = meta_color_spec_new_from_string (fallback_str, err);
g_free (fallback_str);
if (!debug)
{
char *fallback_str;
fallback_str = g_strndup (fallback_str_start,
end - fallback_str_start);
fallback = meta_color_spec_new_from_string (fallback_str, err);
g_free (fallback_str);
}
else
{
fallback = meta_color_spec_new_from_string ("pink", err);
}

if (fallback == NULL)
return NULL;

0 comments on commit 6203779

Please sign in to comment.
You can’t perform that action at this time.