diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-11-24 22:26:43 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-11-24 22:26:43 +0000 |
commit | fe4ceedf5fff69b0bac664f175cf8b18258bd793 (patch) | |
tree | f0659ae6bf3d5b0619874a1a136ba533fb16a541 /loader | |
parent | c3fa2ba9c36df87c0fb7d3060d076c579086ca30 (diff) | |
download | mpv-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.c | 12 |
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; |