Some small fixes to enhmetafiles.
diff --git a/objects/enhmetafile.c b/objects/enhmetafile.c
index b4d8b83..1af461e 100644
--- a/objects/enhmetafile.c
+++ b/objects/enhmetafile.c
@@ -4,6 +4,7 @@
*/
#include <string.h>
+#include <assert.h>
#include "windows.h"
#include "gdi.h"
#include "winbase.h"
@@ -26,6 +27,10 @@
DWORD read;
HFILE32 hf = CreateFile32A(lpszMetaFile, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
+ if (hf == INVALID_HANDLE_VALUE32) {
+ FIXME(metafile,"could not open %s\n",lpszMetaFile);
+ return 0;
+ }
if (!ReadFile(hf, &h, sizeof(ENHMETAHEADER), &read, NULL))
return 0;
if (read!=sizeof(ENHMETAHEADER)) return 0;
@@ -34,6 +39,7 @@
hmf = GlobalAlloc32(GPTR, h.nBytes);
p = GlobalLock32(hmf);
if (!ReadFile(hf, p, h.nBytes, &read, NULL)) return 0;
+ assert(read==h.nBytes);
GlobalUnlock32(hmf);
return hmf;
}
diff --git a/relay32/gdi32.spec b/relay32/gdi32.spec
index e929737..02a7b10 100644
--- a/relay32/gdi32.spec
+++ b/relay32/gdi32.spec
@@ -176,7 +176,7 @@
171 stdcall GetDeviceCaps(long long) GetDeviceCaps32
172 stub GetDeviceGammaRamp
173 stub GetETM
-174 stdcall GetEnhMetaFileA(ptr) GetEnhMetaFile32A
+174 stdcall GetEnhMetaFileA(str) GetEnhMetaFile32A
175 stdcall GetEnhMetaFileBits(long long ptr) GetEnhMetaFileBits
176 stdcall GetEnhMetaFileDescriptionA(long long ptr) GetEnhMetaFileDescription32A
177 stdcall GetEnhMetaFileDescriptionW(long long ptr) GetEnhMetaFileDescription32W