diff --git a/graphics/x11drv/palette.c b/graphics/x11drv/palette.c index 8657ed81893d50f46b6c10e58ee4e115c35fdc5f..320cd96ef42d6467997dc1887c461cf9c4b1d104 100644 --- a/graphics/x11drv/palette.c +++ b/graphics/x11drv/palette.c @@ -660,6 +660,9 @@ int X11DRV_PALETTE_ToPhysical( DC *dc, COLORREF color ) unsigned char spec_type = color >> 24; PALETTEOBJ* palPtr = (PALETTEOBJ *) GDI_GetObjPtr( hPal, PALETTE_MAGIC ); + /* palPtr can be NULL when DC is being destroyed */ + if( !palPtr ) return 0; + if ( X11DRV_PALETTE_PaletteFlags & X11DRV_PALETTE_FIXED ) { /* there is no colormap limitation; we are going to have to compute @@ -724,10 +727,7 @@ int X11DRV_PALETTE_ToPhysical( DC *dc, COLORREF color ) else { - /* palPtr can be NULL when DC is being destroyed */ - - if( !palPtr ) return 0; - else if( !palPtr->mapping ) + if( !palPtr->mapping ) WARN("Palette %04x is not realized\n", dc->w.hPalette); switch(spec_type) /* we have to peruse DC and system palette */