[PATCH] gdiplus: Switch to STRETCH_HALFTONE mode before playing a blit record.
This is done even if the emf contains a previous EMR_SETSTRETCHBLTMODE record. Thanks to Sebastián Aedo for some of the testing. Signed-off-by: Huw Davies <huw(a)codeweavers.com> --- dlls/gdiplus/metafile.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dlls/gdiplus/metafile.c b/dlls/gdiplus/metafile.c index d79c939218c..1b4bba18048 100644 --- a/dlls/gdiplus/metafile.c +++ b/dlls/gdiplus/metafile.c @@ -2486,6 +2486,9 @@ GpStatus WINGDIPAPI GdipPlayMetafileRecord(GDIPCONST GpMetafile *metafile, record->nSize = dataSize + 8; memcpy(record->dParm, data, dataSize); + if (record->iType == EMR_BITBLT || record->iType == EMR_STRETCHBLT) + SetStretchBltMode(metafile->playback_dc, STRETCH_HALFTONE); + if(PlayEnhMetaFileRecord(metafile->playback_dc, metafile->handle_table, record, metafile->handle_count) == 0) ERR("PlayEnhMetaFileRecord failed\n"); -- 2.23.0
participants (2)
-
Esme Povirk (she/they) -
Huw Davies