aboutsummaryrefslogtreecommitdiffstats
path: root/src/xterm.c
diff options
context:
space:
mode:
authorGerd Moellmann <[email protected]>2000-03-05 10:23:14 +0000
committerGerd Moellmann <[email protected]>2000-03-05 10:23:14 +0000
commit5ff67d81bc2162b5901a09e3a3507f96ffa72096 (patch)
tree45fdb6134cf7b5a6012d633584db71bff223dbc4 /src/xterm.c
parent28ee91c0e5d64c8e88805cdd24e853be9a9e03e6 (diff)
(x_term_init): Create a colormap if not using the
default visual.
Diffstat (limited to 'src/xterm.c')
-rw-r--r--src/xterm.c32
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);