diff options
Diffstat (limited to 'loader/module.c')
-rw-r--r-- | loader/module.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/loader/module.c b/loader/module.c index 9e7bc1c3c5..5669d7b245 100644 --- a/loader/module.c +++ b/loader/module.c @@ -471,6 +471,20 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) } } + // Windows Media Video 9 Advanced + if (strstr(libname,"wmvadvd.dll") && wm) + { + // The codec calls IsRectEmpty with coords 0,0,0,0 => result is 0 + // but it really wants the rectangle to be not empty + if (PE_FindExportedFunction(wm, "CreateInstance", TRUE)==(void*)0x08c4b812) { + // Dll version is 10.0.0.3645 + *((char*)0x08c48b0f)=0xeb; // Jump always, ignoring IsRectEmpty result + } else { + fprintf(stderr, "Unsupported WMVA version\n"); + return 0; + } + } + if (strstr(libname,"QuickTime.qts") && wm) { void** ptr; |