head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.54 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.52 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.50 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q2:1.2.0.48 pkgsrc-2011Q2-base:1.2 pkgsrc-2009Q4:1.2.0.46 pkgsrc-2009Q4-base:1.2 pkgsrc-2008Q4:1.2.0.44 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.42 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.40 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.38 pkgsrc-2008Q2-base:1.2 pkgsrc-2008Q1:1.2.0.36 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.34 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.32 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.30 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.28 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.26 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.24 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.22 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.20 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.18 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.16 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.14 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.2.0.12 pkgsrc-2005Q1-base:1.2 pkgsrc-2004Q4:1.2.0.10 pkgsrc-2004Q4-base:1.2 pkgsrc-2004Q3:1.2.0.8 pkgsrc-2004Q3-base:1.2 pkgsrc-2004Q2:1.2.0.6 pkgsrc-2004Q2-base:1.2 pkgsrc-2004Q1:1.2.0.4 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.2.0.2 pkgsrc-2003Q4-base:1.2 netbsd-1-6-1:1.1.0.6 netbsd-1-6-1-base:1.1 netbsd-1-6:1.1.0.8 netbsd-1-6-RELEASE-base:1.1 pkgviews:1.1.0.4 pkgviews-base:1.1 buildlink2:1.1.0.2 buildlink2-base:1.1 netbsd-1-5-PATCH003:1.1; locks; strict; comment @# @; 1.2 date 2003.09.27.02.27.47; author dan; state dead; branches; next 1.1; 1.1 date 2001.08.01.20.56.30; author he; state Exp; branches; next ; desc @@ 1.2 log @update to 0.90.7.1 which includes patches from the author to deal with gcc-3.3 properly XXX this interim version does not include the demo files, they should be re-instated when 0.91 comes out. @ text @$NetBSD: patch-ae,v 1.1 2001/08/01 20:56:30 he Exp $ --- xplot.c.orig Wed Jul 2 22:26:09 1997 +++ xplot.c @@@@ -842,38 +842,39 @@@@ /* Allocate some color cells */ if (d_i[d].virgin ) { + int default_depth; + int default_screen; + int default_cmap; + XVisualInfo visual_info; + d_i[d].virgin = 0; d_i[d].xplot_nagle_atom = XInternAtom(pl->dpy, "XPLOT_NAGLE", False); - d_i[d].clr_map = DefaultColormap(pl->dpy, DefaultScreen(pl->dpy)); + default_screen = ScreenNumberOfScreen(pl->screen); + default_depth = DefaultDepth(pl->dpy, default_screen); + default_cmap = DefaultColormap(pl->dpy, default_screen); - if ( option_mono || + i = DirectColor; + while (!XMatchVisualInfo(pl->dpy, default_screen, default_depth, + i--, &visual_info)) + ; - ! XAllocColorCells(pl->dpy, - d_i[d].clr_map, 0, - &d_i[d].line_plane_mask, 1, - d_i[d].pixel, NColors) ) - { - /* probably only one bit plane, or all the color cells are taken */ -#if 1 - if (! option_mono) - fputs("XAllocColorCells failed, will only have one plot color\n", - stderr); -#endif - for ( i = 0; i < NColors; i++) { - d_i[d].Colors[i] = WhitePixelOfScreen(pl->screen); - } - } else { - for (i = 0; i < NColors; i++) { - XParseColor(pl->dpy, d_i[d].clr_map, ColorNames[i], &d_i[d].clr); - d_i[d].clr.pixel = d_i[d].pixel[i]; - XStoreColor (pl->dpy, d_i[d].clr_map, &d_i[d].clr); - d_i[d].clr.pixel |= d_i[d].line_plane_mask; - XStoreColor (pl->dpy, d_i[d].clr_map, &d_i[d].clr); - d_i[d].Colors[i] = d_i[d].clr.pixel; + if (i < StaticColor || option_mono) { + mono: + for ( i = 0; i < NColors; i++) { + d_i[d].Colors[i] = WhitePixelOfScreen(pl->screen); + } + } else { + for (i = 0; i < NColors; i++) { + XParseColor(pl->dpy, default_cmap, ColorNames[i], &d_i[d].clr); + if (!XAllocColor(pl->dpy, default_cmap, &d_i[d].clr)) { + fprintf(stderr, "XAllocColor failed, reverting to monochrome\n"); + goto mono; } + d_i[d].Colors[i] = d_i[d].clr.pixel; } + } } for (i = 0; i < NColors; i++) { @ 1.1 log @Add a patch to modernize the X11 visual detection and color allocation, so that this program gives color also on TrueColor displays. The use of color plane masks is however removed. @ text @d1 1 a1 1 $NetBSD$ @