[PATCH v2 0/1] MR6627: gdiplus: Add support for EmfPlusRecordTypeSetRenderingOrigin record playback.
-- v2: gdiplus: Add support for EmfPlusRecordTypeSetRenderingOrigin record playback. https://gitlab.winehq.org/wine/wine/-/merge_requests/6627
From: Dmitry Timoshkov <dmitry(a)baikal.ru> Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru> --- dlls/gdiplus/metafile.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/dlls/gdiplus/metafile.c b/dlls/gdiplus/metafile.c index c70aa333428..a786297a40b 100644 --- a/dlls/gdiplus/metafile.c +++ b/dlls/gdiplus/metafile.c @@ -3748,8 +3748,20 @@ GpStatus WINGDIPAPI GdipPlayMetafileRecord(GDIPCONST GpMetafile *metafile, return stat; } + case EmfPlusRecordTypeSetRenderingOrigin: + { + const EmfPlusSetRenderingOrigin *origin = (const EmfPlusSetRenderingOrigin *)header; + + if (dataSize + sizeof(EmfPlusRecordHeader) < sizeof(EmfPlusSetRenderingOrigin)) + return InvalidParameter; + + return GdipSetRenderingOrigin(real_metafile->playback_graphics, origin->x, origin->y); + } default: - FIXME("Not implemented for record type %x\n", recordType); + if (recordType >= GDIP_EMFPLUS_RECORD_BASE) + FIXME("Not implemented for EMF+ record type %u\n", recordType - GDIP_EMFPLUS_RECORD_BASE); + else + FIXME("Not implemented for record type %x\n", recordType); return NotImplemented; } } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/6627
On Mon Oct 7 22:27:42 2024 +0000, Esme Povirk wrote:
Please validate the record size before dereferencing these. Thanks for pointing that out, updated the patch.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/6627#note_84295
This merge request was approved by Esme Povirk. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/6627
participants (3)
-
Dmitry Timoshkov -
Dmitry Timoshkov (@dmitry) -
Esme Povirk (@madewokherd)