Commit ddc60c85 authored by Alexandre Julliard's avatar Alexandre Julliard

x11drv: Clear new bitmaps if they don't contain any data.

parent 5c1b27a0
......@@ -1034,9 +1034,7 @@ static void test_bitmap(void)
memset(buf, 0xAA, sizeof(buf));
ret = GetBitmapBits(hbmp, sizeof(buf), buf);
ok(ret == bm.bmWidthBytes * bm.bmHeight, "%d != %d\n", ret, bm.bmWidthBytes * bm.bmHeight);
todo_wine {
ok(!memcmp(buf, buf_cmp, sizeof(buf)), "buffers do not match\n");
}
hbmp_old = SelectObject(hdc, hbmp_old);
ok(hbmp_old == hbmp, "wrong old bitmap %p\n", hbmp_old);
......
......@@ -146,7 +146,18 @@ BOOL X11DRV_CreateBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap )
}
if (bitmap.bmBits) /* Set bitmap bits */
{
X11DRV_SetBitmapBits( hbitmap, bitmap.bmBits, bitmap.bmHeight * bitmap.bmWidthBytes );
}
else /* else clear the bitmap */
{
wine_tsx11_lock();
XSetFunction( gdi_display, BITMAP_GC(physBitmap), GXclear );
XFillRectangle( gdi_display, physBitmap->pixmap, BITMAP_GC(physBitmap), 0, 0,
bitmap.bmWidth, bitmap.bmHeight );
XSetFunction( gdi_display, BITMAP_GC(physBitmap), GXcopy );
wine_tsx11_unlock();
}
return TRUE;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment