diff options
author | QC <qball@gmpclient.org> | 2015-07-07 21:50:09 +0200 |
---|---|---|
committer | QC <qball@gmpclient.org> | 2015-07-07 21:51:15 +0200 |
commit | 1de8d448f70cce50c2b5da3a1857b77c6e133b8d (patch) | |
tree | ead710912d6bc0c144023b83cf6e837dfafed0bb /source/x11-helper.c | |
parent | b3bc620211617443dfe1cefab4bfdc9d944f64d9 (diff) |
Make color parsing more robust, report failing of parsing color.
Involves: #181
Diffstat (limited to 'source/x11-helper.c')
-rw-r--r-- | source/x11-helper.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/source/x11-helper.c b/source/x11-helper.c index 8c158272..dd43f7b7 100644 --- a/source/x11-helper.c +++ b/source/x11-helper.c @@ -443,12 +443,22 @@ unsigned int color_get ( Display *display, const char *const name ) color.blue = ( ( color.pixel & 0x000000FF ) ) * 255; if ( !truecolor ) { // This will drop alpha part. - return XAllocColor ( display, map, &color ) ? color.pixel : None; + Status st = XAllocColor ( display, map, &color ); + if ( st == None ) { + fprintf ( stderr, "Failed to parse color: '%s'\n", name ); + exit ( EXIT_FAILURE ); + } + return color.pixel; } return color.pixel; } else { - return XAllocNamedColor ( display, map, name, &color, &color ) ? color.pixel : None; + Status st = XAllocNamedColor ( display, map, name, &color, &color ); + if ( st == None ) { + fprintf ( stderr, "Failed to parse color: '%s'\n", name ); + exit ( EXIT_FAILURE ); + } + return color.pixel; } } @@ -462,7 +472,7 @@ unsigned int color_background ( Display *display ) gchar **vals = g_strsplit ( config.color_window, ",", 2 ); if ( vals != NULL && vals[0] != NULL ) { - retv = color_get ( display, vals[0] ); + retv = color_get ( display, g_strstrip ( vals[0] ) ); } g_strfreev ( vals ); return retv; |