diff --git a/src/mysterx/browser.cxx b/src/mysterx/browser.cxx index 6c5fa83886..ecda59f5ae 100644 --- a/src/mysterx/browser.cxx +++ b/src/mysterx/browser.cxx @@ -142,11 +142,11 @@ Scheme_Object *mx_make_browser(int argc,Scheme_Object **argv) { browser = (MX_Browser_Object *)scheme_malloc_tagged(sizeof(MX_Browser_Object)); browser->so.type = mx_browser_type; - browser->destroy = destroy; destroy = (int *)malloc(sizeof(int)); /* freed by msg loop */ *destroy = 0; browserWindowInit.destroy = destroy; + browser->destroy = destroy; // use _beginthread instead of CreateThread // because the use of HTMLHelp requires the use of @@ -381,7 +381,7 @@ Scheme_Object *mx_register_navigate_handler(int argc,Scheme_Object **argv) { // register handler for NavigateComplete2 event (memID = 259) - pISink->register_handler(259,argv[1]); + pISink->register_handler(259, mx_wrap_handler(argv[1])); return scheme_void; } diff --git a/src/mysterx/mysterx.cxx b/src/mysterx/mysterx.cxx index d05a4abdfb..46ce3a44c1 100644 --- a/src/mysterx/mysterx.cxx +++ b/src/mysterx/mysterx.cxx @@ -5466,6 +5466,11 @@ void mx_cleanup (void) /* looks like CoUninitialize() gets called automatically */ } +void *mx_wrap_handler(Scheme_Object *h) +{ + return GC_HANDLER_BOX(h); +} + Scheme_Object *scheme_module_name (void) { return scheme_intern_symbol (MXMAIN); @@ -5551,7 +5556,7 @@ Scheme_Object *scheme_initialize (Scheme_Env *env) initMysSinkTable(); - if (isatty (fileno (stdin))) { + if (0 && isatty (fileno (stdin))) { fprintf (stderr, "MysterX extension for PLT Scheme, " "Copyright (c) 1999-2003 PLT (Paul Steckler)\n"); diff --git a/src/mysterx/mysterx.h b/src/mysterx/mysterx.h index 1e01cc061d..15d3ddd289 100644 --- a/src/mysterx/mysterx.h +++ b/src/mysterx/mysterx.h @@ -901,7 +901,7 @@ extern unsigned long browserCount; sprintf(buff,"Can't push argument with VARIANT tag = %X",va.vt); \ scheme_signal_error(buff); }; } while (0) - +void *mx_wrap_handler(Scheme_Object *h); /* This indirection lets us delayload libmzsch.dll: */ #define scheme_false (scheme_make_false())