changeset 8271:64786fe1a8a6

patching quicktime.qts runtime
author arpi
date Sun, 24 Nov 2002 22:26:43 +0000
parents badd24741e4a
children b1c5460a8105
files loader/module.c
diffstat 1 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/loader/module.c	Sun Nov 24 21:49:52 2002 +0000
+++ b/loader/module.c	Sun Nov 24 22:26:43 2002 +0000
@@ -311,16 +311,22 @@
 		/* 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
 		}
-#endif
 
                 SetLastError( err );  /* restore last error */
 		return pwm;