diff options
author | Gerd Moellmann <[email protected]> | 2000-03-05 10:23:14 +0000 |
---|---|---|
committer | Gerd Moellmann <[email protected]> | 2000-03-05 10:23:14 +0000 |
commit | 5ff67d81bc2162b5901a09e3a3507f96ffa72096 (patch) | |
tree | 45fdb6134cf7b5a6012d633584db71bff223dbc4 /src/xterm.c | |
parent | 28ee91c0e5d64c8e88805cdd24e853be9a9e03e6 (diff) |
(x_term_init): Create a colormap if not using the
default visual.
Diffstat (limited to 'src/xterm.c')
-rw-r--r-- | src/xterm.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/xterm.c b/src/xterm.c index 82e3cc308d..26d87fe3b4 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -12988,8 +12988,7 @@ x_term_init (display_name, xrm_option, resource_name) dpyinfo->screen = ScreenOfDisplay (dpyinfo->display, DefaultScreen (dpyinfo->display)); - dpyinfo->visual = select_visual (dpyinfo->display, dpyinfo->screen, - &dpyinfo->n_planes); + select_visual (dpyinfo); dpyinfo->cmap = DefaultColormapOfScreen (dpyinfo->screen); dpyinfo->height = HeightOfScreen (dpyinfo->screen); dpyinfo->width = WidthOfScreen (dpyinfo->screen); @@ -13018,19 +13017,24 @@ x_term_init (display_name, xrm_option, resource_name) dpyinfo->image_cache = make_image_cache (); /* See if a private colormap is requested. */ - if (dpyinfo->visual == DefaultVisualOfScreen (dpyinfo->screen) - && dpyinfo->visual->class == PseudoColor) - { - Lisp_Object value; - value = display_x_get_resource (dpyinfo, - build_string ("privateColormap"), - build_string ("PrivateColormap"), - Qnil, Qnil); - if (STRINGP (value) - && (!strcmp (XSTRING (value)->data, "true") - || !strcmp (XSTRING (value)->data, "on"))) - dpyinfo->cmap = XCopyColormapAndFree (dpyinfo->display, dpyinfo->cmap); + if (dpyinfo->visual == DefaultVisualOfScreen (dpyinfo->screen)) + { + if (dpyinfo->visual->class == PseudoColor) + { + Lisp_Object value; + value = display_x_get_resource (dpyinfo, + build_string ("privateColormap"), + build_string ("PrivateColormap"), + Qnil, Qnil); + if (STRINGP (value) + && (!strcmp (XSTRING (value)->data, "true") + || !strcmp (XSTRING (value)->data, "on"))) + dpyinfo->cmap = XCopyColormapAndFree (dpyinfo->display, dpyinfo->cmap); + } } + else + dpyinfo->cmap = XCreateColormap (dpyinfo->display, dpyinfo->root_window, + dpyinfo->visual, AllocNone); { int screen_number = XScreenNumberOfScreen (dpyinfo->screen); |