From fa5d2b779e3f746089049da515c5e096be07f710 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 7 Jun 2006 18:49:50 +0000 Subject: [PATCH] fix MysterX for MSVC 7.1 svn: r3269 --- src/mysterx/browser.cxx | 5 +++++ src/mysterx/mysterx.cxx | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/mysterx/browser.cxx b/src/mysterx/browser.cxx index 33d8f4aa40..4db0ca165b 100644 --- a/src/mysterx/browser.cxx +++ b/src/mysterx/browser.cxx @@ -126,6 +126,7 @@ Scheme_Object *mx_make_browser(int argc,Scheme_Object **argv) { WaitForSingleObject(browserHwndMutex,INFINITE); + pBrowserStream = NULL; browserWindowInit.ppIStream = &pBrowserStream; browser = (MX_Browser_Object *)scheme_malloc(sizeof(MX_Browser_Object)); @@ -145,6 +146,9 @@ Scheme_Object *mx_make_browser(int argc,Scheme_Object **argv) { browser->destroy = FALSE; browser->hwnd = browserHwnd; + if (!pBrowserStream) + scheme_signal_error ("make-browser: Can't create browser window"); + hr = CoGetInterfaceAndReleaseStream(pBrowserStream,IID_IUnknown,(void **)&pIUnknown); ReleaseSemaphore(browserHwndMutex,1,NULL); @@ -241,6 +245,7 @@ Scheme_Object *mx_make_browser(int argc,Scheme_Object **argv) { browser->pIWebBrowser2 = pIWebBrowser2; browser->pISink = pISink; + browser->pIEventQueue = pIEventQueue; scheme_add_managed((Scheme_Custodian *)scheme_get_param(scheme_current_config(),MZCONFIG_CUSTODIAN), diff --git a/src/mysterx/mysterx.cxx b/src/mysterx/mysterx.cxx index fe16a04d3f..d3d9933273 100644 --- a/src/mysterx/mysterx.cxx +++ b/src/mysterx/mysterx.cxx @@ -4951,15 +4951,17 @@ void browserHwndMsgLoop (LPVOID p) ? 1L : 0L; - hwnd = CreateWindow ("AtlAxWin7", "myspage.DHTMLPage.1", + hwnd = CreateWindow ("AtlAxWin71", "myspage.DHTMLPage.1", WS_VISIBLE | hasScrollBars | (pBrowserWindowInit->browserWindow.style & ~ (WS_HSCROLL|WS_VSCROLL)), pBrowserWindowInit->browserWindow.x, pBrowserWindowInit->browserWindow.y, pBrowserWindowInit->browserWindow.width, pBrowserWindowInit->browserWindow.height, NULL, NULL, hInstance, NULL); - if (hwnd == NULL) - scheme_signal_error ("make-browser: Can't create browser window"); + if (hwnd == NULL) { + ReleaseSemaphore (createHwndSem, 1, NULL); + return; + } ShowWindow (hwnd, SW_SHOW); SetForegroundWindow (hwnd);