From 7b6a71781f181c073eb26b0c9d10d66852260fc0 Mon Sep 17 00:00:00 2001 From: James Stembridge Date: Sun, 8 Aug 2004 16:34:32 +0000 Subject: Support newer DLLs CVS patchset: 6879 CVS date: 2004/08/08 16:34:32 --- ChangeLog | 3 ++- src/libw32dll/wine/module.c | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 26f6137ce..ab1440fc1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20,7 +20,8 @@ xine-lib (1-rc6) * another win32 dll crash fix (after playing several files) * configure option for building xine with external ffmpeg library * added api for finer playback speed control (requires frontend support) - + * support QuickTime 6.3 DLLs + xine-lib (1-rc5) * add support for ejecting removable media on Solaris * fix stuttering playback of some realmedia streams diff --git a/src/libw32dll/wine/module.c b/src/libw32dll/wine/module.c index 6e97548b6..052aece0f 100644 --- a/src/libw32dll/wine/module.c +++ b/src/libw32dll/wine/module.c @@ -448,6 +448,11 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) for (i=0;i<6;i++) ((char*)0x10007688)[i]=0x90; for (i=0;i<6;i++) ((char*)0x100082c3)[i]=0x90; for (i=0;i<6;i++) ((char*)0x100084aa)[i]=0x90; + } else if (PE_FindExportedFunction(wm, "DriverProc", TRUE)==(void*)0x10003e70) { + // looks like VP 6.0.7.3 + for (i=0;i<6;i++) ((char*)0x10007559)[i]=0x90; + for (i=0;i<6;i++) ((char*)0x100081c3)[i]=0x90; + for (i=0;i<6;i++) ((char*)0x1000839e)[i]=0x90; } else { printf("wine/module: Unsupported VP6 version\n"); return 0; @@ -499,6 +504,15 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) for (i=0;i<5;i++) ((char *)0x66a73122)[i]=0x90; // jmp_to_call_loadbitmap for (i=0;i<9;i++) ((char *)0x66a73131)[i]=0x90; // call__calls_OLE_shit for (i=0;i<96;i++) ((char *)0x66aac852)[i]=0x90; // disable threads + } else if (dispatch_addr == (void *)0x6693c3e0) + { + printf ("wine/module: QuickTime6.3 DLLs found\n"); + ptr = (void **)0x66bca01c; // dispatcher_ptr + for (i=0;i<5;i++) ((char *)0x66a68f6c)[i]=0x90; // make_new_region + for (i=0;i<28;i++) ((char *)0x66a68f97)[i]=0x90; // call__call_CreateCompatibleDC + for (i=0;i<5;i++) ((char *)0x66a68fc2)[i]=0x90; // jmp_to_call_loadbitmap + for (i=0;i<9;i++) ((char *)0x66a68fd1)[i]=0x90; // call__calls_OLE_shit + for (i=0;i<96;i++) ((char *)0x66ab4722)[i]=0x90; // disable threads } else { printf ("wine/module: Unsupported QuickTime version (%p)\n", -- cgit v1.2.3