Only query the colormap for GRAYSCALE and PSEUDOCOLOR visuals, and don't
Tue Feb 3 15:34:27 1998 Owen Taylor <owt1@cornell.edu> * gdk/gdkcolor.c (gdk_colormap_get_system): Only query the colormap for GRAYSCALE and PSEUDOCOLOR visuals, and don't ask for more than 256 colors in any case. * gdk/gdkwindow.c (gdk_window_internal_destroy): Remove the input window information when we destroy the window, not when we are notified of it. * gdk/gdkinputcommon.h (gdk_input_device_new): Work around bug in XFree86 3.3.1's handling of Wacom macro buttons. by assumming no device will report exactly 25 buttons. * gdk/gdkinputcommon.h (gdk_input_common_other_event): Fill in string translation for generated key press events, do sanity checking on received key codes. * gdk/gdkcc.c (gdk_color_context_new): Allocate enough room for a GdkColorContextPrivate, not just for a GdkColorContext.
This commit is contained in:
@ -174,23 +174,27 @@ gdk_colormap_get_system (void)
|
||||
private->next_color = 0;
|
||||
private->ref_count = 1;
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
if ((private->visual->type == GDK_VISUAL_GRAYSCALE) ||
|
||||
(private->visual->type == GDK_VISUAL_PSEUDO_COLOR))
|
||||
{
|
||||
xpalette[i].pixel = i;
|
||||
xpalette[i].red = 0;
|
||||
xpalette[i].green = 0;
|
||||
xpalette[i].blue = 0;
|
||||
}
|
||||
|
||||
XQueryColors (gdk_display, private->xcolormap, xpalette,
|
||||
private->visual->colormap_size);
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
{
|
||||
colormap->colors[i].pixel = xpalette[i].pixel;
|
||||
colormap->colors[i].red = xpalette[i].red;
|
||||
colormap->colors[i].green = xpalette[i].green;
|
||||
colormap->colors[i].blue = xpalette[i].blue;
|
||||
for (i = 0; i < 256; i++)
|
||||
{
|
||||
xpalette[i].pixel = i;
|
||||
xpalette[i].red = 0;
|
||||
xpalette[i].green = 0;
|
||||
xpalette[i].blue = 0;
|
||||
}
|
||||
|
||||
XQueryColors (gdk_display, private->xcolormap, xpalette,
|
||||
MIN (private->visual->colormap_size, 256));
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
{
|
||||
colormap->colors[i].pixel = xpalette[i].pixel;
|
||||
colormap->colors[i].red = xpalette[i].red;
|
||||
colormap->colors[i].green = xpalette[i].green;
|
||||
colormap->colors[i].blue = xpalette[i].blue;
|
||||
}
|
||||
}
|
||||
|
||||
gdk_colormap_add (colormap);
|
||||
|
||||
Reference in New Issue
Block a user