summaryrefslogtreecommitdiffstats
path: root/loader
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-24 22:26:43 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-24 22:26:43 +0000
commitfe4ceedf5fff69b0bac664f175cf8b18258bd793 (patch)
treef0659ae6bf3d5b0619874a1a136ba533fb16a541 /loader
parentc3fa2ba9c36df87c0fb7d3060d076c579086ca30 (diff)
downloadmpv-fe4ceedf5fff69b0bac664f175cf8b18258bd793.tar.bz2
mpv-fe4ceedf5fff69b0bac664f175cf8b18258bd793.tar.xz
patching quicktime.qts runtime
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8272 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'loader')
-rw-r--r--loader/module.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/loader/module.c b/loader/module.c
index 81a699d09c..42da04baab 100644
--- a/loader/module.c
+++ b/loader/module.c
@@ -311,16 +311,22 @@ static WINE_MODREF *MODULE_LoadLibraryExA( LPCSTR libname, HFILE hfile, DWORD fl
/* decrement the dependencies through the MODULE_FreeLibrary call. */
pwm->refCount++;
-#ifdef EMU_QTX_API
if(strstr(libname,"QuickTime.qts")){
void** ptr=0x62b75ca4;
- fprintf(stderr,"QuickTime.qts entrypoint patched!!! old=%p\n",ptr[0]);
+ int i;
+ fprintf(stderr,"QuickTime.qts patched!!! old entry=%p\n",ptr[0]);
+ // NOP out directx, fontmanager and some other init calls:
+ for(i=0;i<5;i++) ((char*)0x6299e842)[i]=0x90;
+ for(i=0;i<28;i++) ((char*)0x6299e86d)[i]=0x90;
+ for(i=0;i<5;i++) ((char*)0x6299e898)[i]=0x90;
+ for(i=0;i<9;i++) ((char*)0x6299e8ac)[i]=0x90;
+#ifdef EMU_QTX_API
report_entry = report_func;
report_ret = report_func_ret;
wrapper_target=ptr[0];
ptr[0]=wrapper;
- }
#endif
+ }
SetLastError( err ); /* restore last error */
return pwm;