From 7bb6fd1db3a3627bac3be2aa9e4426ed82cda2d5 Mon Sep 17 00:00:00 2001 From: Huw D M Davies Date: Tue, 9 Feb 1999 15:32:19 +0000 Subject: [PATCH] GetMetaFileBitsEx should work in bytes not words. --- objects/metafile.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/objects/metafile.c b/objects/metafile.c index c6088792e0b..7cf534cb391 100644 --- a/objects/metafile.c +++ b/objects/metafile.c @@ -1056,16 +1056,20 @@ UINT32 WINAPI GetMetaFileBitsEx( LPVOID buf /* buffer to receive raw metafile data */ ) { METAHEADER *h = GlobalLock16(hmf); + UINT32 mfSize; + TRACE(metafile, "(%08x,%d,%p)\n", hmf, nSize, buf); if (!h) return 0; /* FIXME: error code */ + mfSize = h->mtSize * 2; if (!buf) { GlobalUnlock16(hmf); - TRACE(metafile,"returning size %ld\n", h->mtSize); - return h->mtSize; + TRACE(metafile,"returning size %d\n", mfSize); + return mfSize; } - memmove(buf, h, MIN(nSize, h->mtSize)); + if(mfSize > nSize) mfSize = nSize; + memmove(buf, h, mfSize); GlobalUnlock16(hmf); - return MIN(nSize, h->mtSize); + return mfSize; } /******************************************************************