Module: wine Branch: master Commit: d0e48343554ce6917b1a9ca64fb952b7e79f5bda URL: https://gitlab.winehq.org/wine/wine/-/commit/d0e48343554ce6917b1a9ca64fb952b...
Author: Piotr Caban piotr@codeweavers.com Date: Wed Apr 12 13:42:03 2023 +0200
wineps: Fix reporting supported color depths in PSDRV_PutImage.
---
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; }