summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--loader/win32.c22
1 files changed, 5 insertions, 17 deletions
diff --git a/loader/win32.c b/loader/win32.c
index 2282258d8d..e224d24aec 100644
--- a/loader/win32.c
+++ b/loader/win32.c
@@ -569,28 +569,16 @@ static HMODULE WINAPI expGetDriverModuleHandle(DRVR* pdrv)
#define MODULE_HANDLE_winmm ((HMODULE)0x128)
#define MODULE_HANDLE_psapi ((HMODULE)0x129)
-/* fake EXE struct to make msvcrt8+ not to crash:
- it checks all exe sections for a section named .mixcrt
- we fake a section with that name, so the crt will avoid
- using Encode/Decode Pointer, as we was a posix binary */
-static const struct {
- IMAGE_DOS_HEADER doshdr;
- IMAGE_NT_HEADERS nthdr;
- IMAGE_SECTION_HEADER opthdr;
-} __attribute__((__packed__)) mp_exe = {
- .doshdr.e_lfanew = sizeof(IMAGE_DOS_HEADER),
- .nthdr.FileHeader.NumberOfSections = 1,
- .nthdr.FileHeader.SizeOfOptionalHeader = sizeof(IMAGE_NT_HEADERS) - FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader), /* 0xe0 */
- .opthdr.Name = ".mixcrt"
-};
-
static HMODULE WINAPI expGetModuleHandleA(const char* name)
{
WINE_MODREF* wm;
HMODULE result;
if(!name)
- result=(HMODULE)&mp_exe.doshdr;
-
+#ifdef CONFIG_QTX_CODECS
+ result=1;
+#else
+ result=0;
+#endif
else
{
wm=MODULE_FindModule(name);