From 6f01462b8b56c5c423443e7e18b960fd0b60057b Mon Sep 17 00:00:00 2001 From: Pavel Roskin Date: Thu, 15 Apr 1999 15:52:59 +0000 Subject: [PATCH] Fixed ugly disabled controls and black background in Write and Lotus Notes. --- graphics/x11drv/bitblt.c | 2 +- graphics/x11drv/palette.c | 6 +++++- include/x11drv.h | 1 - windows/x11drv/main.c | 2 ++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/graphics/x11drv/bitblt.c b/graphics/x11drv/bitblt.c index d15abc54670..f3bc7651cc1 100644 --- a/graphics/x11drv/bitblt.c +++ b/graphics/x11drv/bitblt.c @@ -1293,7 +1293,7 @@ static BOOL BITBLT_InternalStretchBlt( DC *dcDst, INT xDst, INT yDst, { XSetFunction( display, physDevDst->gc, GXcopy ); XSetForeground( display, physDevDst->gc, - X11DRV_PALETTE_PaletteToXPixel[X11DRV_DevCaps.sizePalette - 1]); + WhitePixelOfScreen( X11DRV_GetXScreen() )); XSetFillStyle( display, physDevDst->gc, FillSolid ); } XFillRectangle( display, physDevDst->drawable, physDevDst->gc, diff --git a/graphics/x11drv/palette.c b/graphics/x11drv/palette.c index 959f323a62d..7ae90dcdf54 100644 --- a/graphics/x11drv/palette.c +++ b/graphics/x11drv/palette.c @@ -88,6 +88,7 @@ static void X11DRV_PALETTE_ComputeShifts(unsigned long maskbits, int *shift, int static void X11DRV_PALETTE_FillDefaultColors(void); static void X11DRV_PALETTE_FormatSystemPalette(void); static BOOL X11DRV_PALETTE_CheckSysColor(COLORREF c); +static int X11DRV_PALETTE_LookupSystemXPixel(COLORREF col); /*********************************************************************** * COLOR_Init @@ -788,7 +789,7 @@ int X11DRV_PALETTE_ToPhysical( DC *dc, COLORREF color ) /*********************************************************************** * X11DRV_PALETTE_LookupSystemXPixel */ -int X11DRV_PALETTE_LookupSystemXPixel(COLORREF col) +static int X11DRV_PALETTE_LookupSystemXPixel(COLORREF col) { int i, best = 0, diff = 0x7fffffff; int size = X11DRV_DevCaps.sizePalette; @@ -955,6 +956,9 @@ int X11DRV_PALETTE_UpdateMapping(PALETTEOBJ *palPtr) { int i, index, realized = 0; + if (!X11DRV_DevCaps.sizePalette) + return 0; + for( i = 0; i < 20; i++ ) { index = X11DRV_PALETTE_LookupSystemXPixel(*(COLORREF*)(palPtr->logpalette.palPalEntry + i)); diff --git a/include/x11drv.h b/include/x11drv.h index ef778d9725c..531c1b84d19 100644 --- a/include/x11drv.h +++ b/include/x11drv.h @@ -286,7 +286,6 @@ extern void X11DRV_PALETTE_Cleanup(void); extern COLORREF X11DRV_PALETTE_ToLogical(int pixel); extern int X11DRV_PALETTE_ToPhysical(struct tagDC *dc, COLORREF color); -extern int X11DRV_PALETTE_LookupSystemXPixel(COLORREF col); extern struct tagPALETTE_DRIVER X11DRV_PALETTE_Driver; diff --git a/windows/x11drv/main.c b/windows/x11drv/main.c index d5cc1fa9410..0cb25531150 100644 --- a/windows/x11drv/main.c +++ b/windows/x11drv/main.c @@ -125,6 +125,8 @@ BOOL X11DRV_USER_Initialize(void) X11DRV_USER_ParseOptions( Options.argc, Options.argv ); X11DRV_USER_Create(); X11DRV_USER_SaveSetup(); + + return TRUE; } /*********************************************************************** -- 2.11.4.GIT