summaryrefslogtreecommitdiffstats
path: root/loader/module.c
diff options
context:
space:
mode:
Diffstat (limited to 'loader/module.c')
-rw-r--r--loader/module.c14
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;