diff options
-rw-r--r-- | src/skel/win/win.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/skel/win/win.cpp b/src/skel/win/win.cpp index 5c5c7ece..6d44ce80 100644 --- a/src/skel/win/win.cpp +++ b/src/skel/win/win.cpp @@ -1851,7 +1851,11 @@ void PlayMovieInWindow(int cmdShow, const char* szFile) MultiByteToWideChar(CP_ACP, 0, szFile, -1, wFileName, sizeof(wFileName) - 1); // Initialize COM +#ifdef FIX_BUGS // will also return S_FALSE if it has already been inited in the same thread + CoInitialize(nil); +#else JIF(CoInitialize(nil)); +#endif // Get the interface for DirectShow's GraphBuilder JIF(CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC, @@ -2225,7 +2229,9 @@ WinMain(HINSTANCE instance, { CloseClip(); - CoUninitialize(); +#ifndef FIX_BUGS + CoUninitialize(); // CoUninitialize should only be called at the shutdown of a program, and by then it doesn't matter +#endif if ( CMenuManager::OS_Language == LANG_FRENCH || CMenuManager::OS_Language == LANG_GERMAN ) PlayMovieInWindow(cmdShow, "movies\\GTAtitlesGER.mpg"); @@ -2260,7 +2266,9 @@ WinMain(HINSTANCE instance, case GS_INIT_ONCE: { CloseClip(); - CoUninitialize(); +#ifndef FIX_BUGS + CoUninitialize(); // CoUninitialize should only be called at the shutdown of a program, and by then it doesn't matter +#endif #ifdef FIX_BUGS // draw one frame because otherwise we'll end up looking at black screen for a while if vsync is on |