From: Piotr Caban <piotr(a)codeweavers.com> --- dlls/wineps.drv/bitmap.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/wineps.drv/bitmap.c b/dlls/wineps.drv/bitmap.c index bafc86e9a24..59fbf1c1544 100644 --- a/dlls/wineps.drv/bitmap.c +++ b/dlls/wineps.drv/bitmap.c @@ -197,7 +197,8 @@ DWORD CDECL PSDRV_PutImage( PHYSDEV dev, HRGN clip, BITMAPINFO *info, if (info->bmiHeader.biPlanes != 1) goto update_format; if (info->bmiHeader.biCompression != BI_RGB) goto update_format; - if (info->bmiHeader.biBitCount == 16 || info->bmiHeader.biBitCount == 32) goto update_format; + if (info->bmiHeader.biBitCount != 1 && info->bmiHeader.biBitCount != 4 && + info->bmiHeader.biBitCount != 8 && info->bmiHeader.biBitCount != 24) goto update_format; if (!bits) return ERROR_SUCCESS; /* just querying the format */ TRACE( "bpp %u %s -> %s\n", info->bmiHeader.biBitCount, wine_dbgstr_rect(&src->visrect), @@ -297,7 +298,9 @@ DWORD CDECL PSDRV_PutImage( PHYSDEV dev, HRGN clip, BITMAPINFO *info, update_format: info->bmiHeader.biPlanes = 1; - if (info->bmiHeader.biBitCount > 8) info->bmiHeader.biBitCount = 24; + if (info->bmiHeader.biBitCount != 1 && info->bmiHeader.biBitCount != 4 && + info->bmiHeader.biBitCount != 8 && info->bmiHeader.biBitCount != 24) + info->bmiHeader.biBitCount = 24; info->bmiHeader.biCompression = BI_RGB; return ERROR_BAD_FORMAT; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2643