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:
parent
ed485b4dda
commit
2f2cb647c1
2 changed files with 17 additions and 5 deletions
10
ChangeLog
10
ChangeLog
|
@ -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>
|
Thu Aug 14 11:27:37 2003 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
* gc.c (rb_data_object_alloc): check type of 1st argument.
|
* gc.c (rb_data_object_alloc): check type of 1st argument.
|
||||||
|
|
|
@ -66,7 +66,6 @@
|
||||||
(x) = 0;\
|
(x) = 0;\
|
||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
ole_msg_loop();\
|
|
||||||
CoFreeUnusedLibraries();\
|
CoFreeUnusedLibraries();\
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +78,7 @@
|
||||||
|
|
||||||
#define WC2VSTR(x) ole_wc2vstr((x), TRUE)
|
#define WC2VSTR(x) ole_wc2vstr((x), TRUE)
|
||||||
|
|
||||||
#define WIN32OLE_VERSION "0.5.4"
|
#define WIN32OLE_VERSION "0.5.5"
|
||||||
|
|
||||||
typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX)
|
typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX)
|
||||||
(REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*);
|
(REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*);
|
||||||
|
@ -463,7 +462,6 @@ static void
|
||||||
ole_initialize()
|
ole_initialize()
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
int rc;
|
|
||||||
|
|
||||||
if(gOLEInitialized == Qfalse) {
|
if(gOLEInitialized == Qfalse) {
|
||||||
hr = OleInitialize(NULL);
|
hr = OleInitialize(NULL);
|
||||||
|
@ -471,7 +469,12 @@ ole_initialize()
|
||||||
ole_raise(hr, rb_eRuntimeError, "Fail : OLE initialize");
|
ole_raise(hr, rb_eRuntimeError, "Fail : OLE initialize");
|
||||||
}
|
}
|
||||||
gOLEInitialized = Qtrue;
|
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);
|
pcp->lpVtbl->Unadvise(pcp, poleev->pEvent->m_dwCookie);
|
||||||
OLE_RELEASE(pcp);
|
OLE_RELEASE(pcp);
|
||||||
}
|
}
|
||||||
ole_msg_loop();
|
|
||||||
CoFreeUnusedLibraries();
|
CoFreeUnusedLibraries();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue