From 651332ee84b32fdd7bf3ea7e405a97d1aebb0963 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Tue, 20 Feb 2001 00:48:13 +0000 Subject: [PATCH] Better implementation of EMF record EMR_EXTSELECTCLIPRGN. --- objects/enhmetafile.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/objects/enhmetafile.c b/objects/enhmetafile.c index c64eb11f081..852eae18fd3 100644 --- a/objects/enhmetafile.c +++ b/objects/enhmetafile.c @@ -704,17 +704,10 @@ BOOL WINAPI PlayEnhMetaFileRecord( case EMR_EXTSELECTCLIPRGN: { PEMREXTSELECTCLIPRGN lpRgn = (PEMREXTSELECTCLIPRGN)mr; - - if ((lpRgn->cbRgnData == 0) && (lpRgn->iMode == RGN_COPY)) { - ExtSelectClipRgn( hdc, 0, RGN_COPY ); - } else { - FIXME("EMR_EXTSELECTCLIPRGN cbRgnData %lu\n", lpRgn->cbRgnData); - - /* Need to make a region out of the RGNDATA we have */ -/* ExtCreateRegion(....); */ -/* ExtSelectClipRgn( hdc, ..., (INT)(lpRgn->iMode) ); */ - } - + HRGN hRgn = ExtCreateRegion(NULL, lpRgn->cbRgnData, (RGNDATA *)lpRgn->RgnData); + ExtSelectClipRgn(hdc, hRgn, (INT)(lpRgn->iMode)); + /* ExtSelectClipRgn created a copy of the region */ + DeleteObject(hRgn); break; } -- 2.11.4.GIT