# HG changeset patch # User Gerd Moellmann # Date 952251794 0 # Node ID cf10555b8ce082a06a32d1bc04c3764fb7550db7 # Parent 723662ab7db4d6cd5fd1220d46ed575de42278d7 (x_term_init): Create a colormap if not using the default visual. diff -r 723662ab7db4 -r cf10555b8ce0 src/xterm.c --- a/src/xterm.c Sun Mar 05 10:21:53 2000 +0000 +++ b/src/xterm.c Sun Mar 05 10:23:14 2000 +0000 @@ -12988,8 +12988,7 @@ 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 @@ 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);