1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* 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
This commit is contained in:
suke 2003-08-14 11:01:43 +00:00
parent ed485b4dda
commit 2f2cb647c1
2 changed files with 17 additions and 5 deletions

View file

@ -1,3 +1,13 @@
Thu Aug 14 20:03:34 2003 Masaki Suketa <masaki.suketa@nifty.ne.jp>
* 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 <usa@ruby-lang.org>
* gc.c (rb_data_object_alloc): check type of 1st argument.

View file

@ -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();
}
}