diff options
author | Christoph Lohmann <20h@r-36.net> | 2012-09-29 11:23:34 +0200 |
---|---|---|
committer | Christoph Lohmann <20h@r-36.net> | 2012-09-29 11:23:34 +0200 |
commit | ed5b8700a6e6c14b814dcc2e54a90eb1868070b5 (patch) | |
tree | f95b88dc3043faeba9fc6f17877364204e8916bb | |
parent | d7b1e31eec9a87c666334006de25a7f8102c55a9 (diff) | |
download | st-ed5b8700a6e6c14b814dcc2e54a90eb1868070b5.tar.gz st-ed5b8700a6e6c14b814dcc2e54a90eb1868070b5.zip |
We need all the colors to be available, so die() on some not available.
This is a new opportunity to see if X11 somewhen handled colors in a strange
way.
-rw-r--r-- | st.c | 10 |
1 files changed, 2 insertions, 8 deletions
@@ -1915,17 +1915,12 @@ xloadcols(void) { | |||
1915 | int i, r, g, b; | 1915 | int i, r, g, b; |
1916 | XRenderColor xft_color = { .alpha = 0 }; | 1916 | XRenderColor xft_color = { .alpha = 0 }; |
1917 | 1917 | ||
1918 | /* load default white color */ | ||
1919 | if(!XftColorAllocName(xw.dpy, xw.vis, xw.cmap, colorname[256], &dc.xft_col[256])) | ||
1920 | die("Could not allocate color '%s'\n", colorname[256]); | ||
1921 | |||
1922 | /* load colors [0-15] colors and [256-LEN(colorname)[ (config.h) */ | 1918 | /* load colors [0-15] colors and [256-LEN(colorname)[ (config.h) */ |
1923 | for(i = 0; i < LEN(colorname); i++) { | 1919 | for(i = 0; i < LEN(colorname); i++) { |
1924 | if(!colorname[i]) | 1920 | if(!colorname[i]) |
1925 | continue; | 1921 | continue; |
1926 | if(!XftColorAllocName(xw.dpy, xw.vis, xw.cmap, colorname[i], &dc.xft_col[i])) { | 1922 | if(!XftColorAllocName(xw.dpy, xw.vis, xw.cmap, colorname[i], &dc.xft_col[i])) { |
1927 | dc.xft_col[i] = dc.xft_col[256]; | 1923 | die("Could not allocate color '%s'\n", colorname[i]); |
1928 | fprintf(stderr, "Could not allocate color '%s'\n", colorname[i]); | ||
1929 | } | 1924 | } |
1930 | } | 1925 | } |
1931 | 1926 | ||
@@ -1937,8 +1932,7 @@ xloadcols(void) { | |||
1937 | xft_color.green = g == 0 ? 0 : 0x3737 + 0x2828 * g; | 1932 | xft_color.green = g == 0 ? 0 : 0x3737 + 0x2828 * g; |
1938 | xft_color.blue = b == 0 ? 0 : 0x3737 + 0x2828 * b; | 1933 | xft_color.blue = b == 0 ? 0 : 0x3737 + 0x2828 * b; |
1939 | if(!XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &xft_color, &dc.xft_col[i])) { | 1934 | if(!XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &xft_color, &dc.xft_col[i])) { |
1940 | dc.xft_col[i] = dc.xft_col[256]; | 1935 | die("Could not allocate color %d\n", i); |
1941 | fprintf(stderr, "Could not allocate color %d\n", i); | ||
1942 | } | 1936 | } |
1943 | i++; | 1937 | i++; |
1944 | } | 1938 | } |