From 2f2cb647c1c91d76ec3f6739aaddce96560a63f5 Mon Sep 17 00:00:00 2001 From: suke Date: Thu, 14 Aug 2003 11:01:43 +0000 Subject: [PATCH] * ext/win32ole/win32ole.c (OLE_FREE): should not call ole_message_loop. * ext/win32ole/win32ole.c (ole_event_free): ditto. * ext/win32ole/win32ole.c (ole_initialize): stop calling OleUninitialize at exit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 10 ++++++++++ ext/win32ole/win32ole.c | 12 +++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index a5c2a5b03b..45deb7ca49 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Thu Aug 14 20:03:34 2003 Masaki Suketa + + * ext/win32ole/win32ole.c (OLE_FREE): should not call + ole_message_loop. + + * ext/win32ole/win32ole.c (ole_event_free): ditto. + + * ext/win32ole/win32ole.c (ole_initialize): stop calling + OleUninitialize at exit. + Thu Aug 14 11:27:37 2003 NAKAMURA Usaku * gc.c (rb_data_object_alloc): check type of 1st argument. diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index 2429663a5f..e380df8379 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -66,7 +66,6 @@ (x) = 0;\ }\ }\ - ole_msg_loop();\ CoFreeUnusedLibraries();\ } @@ -79,7 +78,7 @@ #define WC2VSTR(x) ole_wc2vstr((x), TRUE) -#define WIN32OLE_VERSION "0.5.4" +#define WIN32OLE_VERSION "0.5.5" typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX) (REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*); @@ -463,7 +462,6 @@ static void ole_initialize() { HRESULT hr; - int rc; if(gOLEInitialized == Qfalse) { hr = OleInitialize(NULL); @@ -471,7 +469,12 @@ ole_initialize() ole_raise(hr, rb_eRuntimeError, "Fail : OLE initialize"); } gOLEInitialized = Qtrue; - rc = atexit((void (*)(void))ole_uninitialize); + /* + * In some situation, OleUninitialize does not work fine. ;-< + */ + /* + atexit((void (*)(void))ole_uninitialize); + */ } } @@ -5088,7 +5091,6 @@ ole_event_free(poleev) pcp->lpVtbl->Unadvise(pcp, poleev->pEvent->m_dwCookie); OLE_RELEASE(pcp); } - ole_msg_loop(); CoFreeUnusedLibraries(); } }