aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2000-03-04 16:00:03 +0000
committerGerd Moellmann2000-03-04 16:00:03 +0000
commit43bd1b2bfe1b14ab5f2bed007d09049021aa55c5 (patch)
tree5faa941512df4d31cc5fa988296a97396a36e422
parent276104706d05b309a1ef829a5f1d78214560bcd5 (diff)
downloademacs-43bd1b2bfe1b14ab5f2bed007d09049021aa55c5.tar.gz
emacs-43bd1b2bfe1b14ab5f2bed007d09049021aa55c5.zip
(x_term_init): Set Colormap member of x_display_info
structure. Copy colormap if resource `privateColormap' is specified (PseudoColor only). (x_setup_relief_color): Access colormap of frame using FRAME_X_COLORMAP.
-rw-r--r--src/xterm.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 1ed9c9db617..82e3cc308dd 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -3351,7 +3351,7 @@ x_setup_relief_color (f, relief, factor, delta, default_pixel)
3351 unsigned long mask = GCForeground | GCLineWidth | GCGraphicsExposures; 3351 unsigned long mask = GCForeground | GCLineWidth | GCGraphicsExposures;
3352 unsigned long pixel; 3352 unsigned long pixel;
3353 unsigned long background = di->relief_background; 3353 unsigned long background = di->relief_background;
3354 Colormap cmap = DefaultColormapOfScreen (FRAME_X_SCREEN (f)); 3354 Colormap cmap = FRAME_X_COLORMAP (f);
3355 struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); 3355 struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
3356 Display *dpy = FRAME_X_DISPLAY (f); 3356 Display *dpy = FRAME_X_DISPLAY (f);
3357 3357
@@ -12990,6 +12990,7 @@ x_term_init (display_name, xrm_option, resource_name)
12990 DefaultScreen (dpyinfo->display)); 12990 DefaultScreen (dpyinfo->display));
12991 dpyinfo->visual = select_visual (dpyinfo->display, dpyinfo->screen, 12991 dpyinfo->visual = select_visual (dpyinfo->display, dpyinfo->screen,
12992 &dpyinfo->n_planes); 12992 &dpyinfo->n_planes);
12993 dpyinfo->cmap = DefaultColormapOfScreen (dpyinfo->screen);
12993 dpyinfo->height = HeightOfScreen (dpyinfo->screen); 12994 dpyinfo->height = HeightOfScreen (dpyinfo->screen);
12994 dpyinfo->width = WidthOfScreen (dpyinfo->screen); 12995 dpyinfo->width = WidthOfScreen (dpyinfo->screen);
12995 dpyinfo->root_window = RootWindowOfScreen (dpyinfo->screen); 12996 dpyinfo->root_window = RootWindowOfScreen (dpyinfo->screen);
@@ -13016,6 +13017,21 @@ x_term_init (display_name, xrm_option, resource_name)
13016 dpyinfo->x_highlight_frame = 0; 13017 dpyinfo->x_highlight_frame = 0;
13017 dpyinfo->image_cache = make_image_cache (); 13018 dpyinfo->image_cache = make_image_cache ();
13018 13019
13020 /* See if a private colormap is requested. */
13021 if (dpyinfo->visual == DefaultVisualOfScreen (dpyinfo->screen)
13022 && dpyinfo->visual->class == PseudoColor)
13023 {
13024 Lisp_Object value;
13025 value = display_x_get_resource (dpyinfo,
13026 build_string ("privateColormap"),
13027 build_string ("PrivateColormap"),
13028 Qnil, Qnil);
13029 if (STRINGP (value)
13030 && (!strcmp (XSTRING (value)->data, "true")
13031 || !strcmp (XSTRING (value)->data, "on")))
13032 dpyinfo->cmap = XCopyColormapAndFree (dpyinfo->display, dpyinfo->cmap);
13033 }
13034
13019 { 13035 {
13020 int screen_number = XScreenNumberOfScreen (dpyinfo->screen); 13036 int screen_number = XScreenNumberOfScreen (dpyinfo->screen);
13021 double pixels = DisplayHeight (dpyinfo->display, screen_number); 13037 double pixels = DisplayHeight (dpyinfo->display, screen_number);