* xterm.c (x_create_toolkit_scroll_bar): Only set XtNbeNiceToColormap
authorJan Djärv <jan.h.d@swipnet.se>
Mon, 2 Aug 2010 14:23:06 +0000 (16:23 +0200)
committerJan Djärv <jan.h.d@swipnet.se>
Mon, 2 Aug 2010 14:23:06 +0000 (16:23 +0200)
to TRUE if depth of screen is < 16.

src/ChangeLog
src/xterm.c

index 4368c62..ba460ca 100644 (file)
@@ -1,11 +1,14 @@
 2010-08-02  Jan Djärv  <jan.h.d@swipnet.se>
 
+       * xterm.c (x_create_toolkit_scroll_bar): Only set XtNbeNiceToColormap
+       to TRUE if depth of screen is < 16.
+
        * gtkutil.c (hierarchy_ch_cb, qttip_cb): Do not define unless
        USE_GTK_TOOLTIP.
        (xg_prepare_tooltip): Return 0 unless USE_GTK_TOOLTIP
        (xg_show_tooltip, xg_hide_tooltip): Do nothing unless
        USE_GTK_TOOLTIP.
-       (xg_create_frame_widgets): Surrond tooltip-related code with ifdef
+       (xg_create_frame_widgets): Surround tooltip-related code with ifdef
        USE_GTK_TOOLTIP.
        (xg_free_frame_widgets): Don't delete ttip_* unless USE_GTK_TOOLTIP.
 
index f003fc7..1b2442b 100644 (file)
@@ -4532,8 +4532,11 @@ x_create_toolkit_scroll_bar (struct frame *f, struct scroll_bar *bar)
       || f->output_data.x->scroll_bar_bottom_shadow_pixel == -1)
     /* We tried to allocate a color for the top/bottom shadow, and
        failed, so tell Xaw3d to use dithering instead.   */
+    /* But only if we have a small colormap.  Xaw3d can allocate nice
+       colors itself.  */
     {
-      XtSetArg (av[ac], XtNbeNiceToColormap, True);
+      XtSetArg (av[ac], XtNbeNiceToColormap,
+                DefaultDepthOfScreen (FRAME_X_SCREEN (f)) < 16);
       ++ac;
     }
   else