Bugfix: create DDB in X11DRV_DIB_GetDIBits if necessary.
This commit is contained in:
parent
dfc91a1b59
commit
af1c41fb8d
|
@ -2827,6 +2827,7 @@ INT X11DRV_DIB_GetDIBits(
|
||||||
{
|
{
|
||||||
X11DRV_DIBSECTION *dib = (X11DRV_DIBSECTION *) bmp->dib;
|
X11DRV_DIBSECTION *dib = (X11DRV_DIBSECTION *) bmp->dib;
|
||||||
X11DRV_DIB_IMAGEBITS_DESCR descr;
|
X11DRV_DIB_IMAGEBITS_DESCR descr;
|
||||||
|
X11DRV_PHYSBITMAP *pbitmap;
|
||||||
PALETTEOBJ * palette;
|
PALETTEOBJ * palette;
|
||||||
|
|
||||||
TRACE_(bitmap)("%u scanlines of (%i,%i) -> (%i,%i) starting from %u\n",
|
TRACE_(bitmap)("%u scanlines of (%i,%i) -> (%i,%i) starting from %u\n",
|
||||||
|
@ -2867,12 +2868,17 @@ INT X11DRV_DIB_GetDIBits(
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Hack for now */
|
/* Hack for now */
|
||||||
|
if(!bmp->DDBitmap)
|
||||||
|
X11DRV_CreateBitmap(hbitmap);
|
||||||
|
|
||||||
|
pbitmap = bmp->DDBitmap->physBitmap;
|
||||||
|
|
||||||
descr.dc = dc;
|
descr.dc = dc;
|
||||||
descr.palentry = palette->logpalette.palPalEntry;
|
descr.palentry = palette->logpalette.palPalEntry;
|
||||||
descr.bits = bits;
|
descr.bits = bits;
|
||||||
descr.lines = lines;
|
descr.lines = lines;
|
||||||
descr.depth = bmp->bitmap.bmBitsPixel;
|
descr.depth = bmp->bitmap.bmBitsPixel;
|
||||||
descr.drawable = ((X11DRV_PHYSBITMAP *)bmp->DDBitmap->physBitmap)->pixmap;
|
descr.drawable = pbitmap->pixmap;
|
||||||
descr.gc = BITMAP_GC(bmp);
|
descr.gc = BITMAP_GC(bmp);
|
||||||
descr.xSrc = 0;
|
descr.xSrc = 0;
|
||||||
descr.ySrc = startscan;
|
descr.ySrc = startscan;
|
||||||
|
|
Loading…
Reference in New Issue