[PATCH] [Gdi32]: break loop in MF_PlayMetaFile when META_EOF is found

Eric Pouech eric.pouech at orange.fr
Fri Jan 4 14:13:24 CST 2008


this happened to me in some metafile embedded in help files

A+
---

 dlls/gdi32/metafile.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/dlls/gdi32/metafile.c b/dlls/gdi32/metafile.c
index 13fce77..1dc8ce7 100644
--- a/dlls/gdi32/metafile.c
+++ b/dlls/gdi32/metafile.c
@@ -427,7 +427,12 @@ BOOL MF_PlayMetaFile( HDC hdc, METAHEADER *mh)
                   mr->rdSize,offset,mh->mtSize*2);
             break;
 	}
+
 	offset += mr->rdSize * 2;
+	if (mr->rdFunction == META_EOF) {
+	    TRACE("Got META_EOF so stopping\n");
+	    break;
+	}
 	PlayMetaFileRecord( hdc, ht, mr, mh->mtNoObjects );
     }
 





More information about the wine-patches mailing list