Cleaned up CoInitialize() politics on Windows.

This commit is contained in:
Ryan C. Gordon 2011-08-03 04:22:47 -04:00
parent 0dea877a78
commit 8fa65eea5c
5 changed files with 60 additions and 8 deletions

View file

@ -305,7 +305,7 @@ IME_Init(SDL_VideoData *videodata, HWND hwnd)
return;
videodata->ime_hwnd_main = hwnd;
if (SUCCEEDED(CoInitializeEx(NULL, COINIT_APARTMENTTHREADED))) {
if (SUCCEEDED(WIN_CoInitialize())) {
videodata->ime_com_initialized = SDL_TRUE;
CoCreateInstance(&CLSID_TF_ThreadMgr, NULL, CLSCTX_INPROC_SERVER, &IID_ITfThreadMgr, (LPVOID *)&videodata->ime_threadmgr);
}
@ -389,7 +389,7 @@ IME_Quit(SDL_VideoData *videodata)
videodata->ime_threadmgr = 0;
}
if (videodata->ime_com_initialized) {
CoUninitialize();
WIN_CoUninitialize();
videodata->ime_com_initialized = SDL_FALSE;
}
IME_DestroyTextures(videodata);