Merge pull request #681 from withmorten/master

remove CoUninitialize calls for FIX_BUGS (fixes PIX crash) and don't …
This commit is contained in:
aap 2020-08-08 17:40:17 +02:00 committed by GitHub
commit bad2b4b3c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1851,7 +1851,11 @@ void PlayMovieInWindow(int cmdShow, const char* szFile)
MultiByteToWideChar(CP_ACP, 0, szFile, -1, wFileName, sizeof(wFileName) - 1); MultiByteToWideChar(CP_ACP, 0, szFile, -1, wFileName, sizeof(wFileName) - 1);
// Initialize COM // 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)); JIF(CoInitialize(nil));
#endif
// Get the interface for DirectShow's GraphBuilder // Get the interface for DirectShow's GraphBuilder
JIF(CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC, JIF(CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC,
@ -2223,9 +2227,10 @@ WinMain(HINSTANCE instance,
case GS_INIT_INTRO_MPEG: case GS_INIT_INTRO_MPEG:
{ {
#ifndef NO_MOVIES
CloseClip(); CloseClip();
CoUninitialize(); CoUninitialize();
#endif
if ( CMenuManager::OS_Language == LANG_FRENCH || CMenuManager::OS_Language == LANG_GERMAN ) if ( CMenuManager::OS_Language == LANG_FRENCH || CMenuManager::OS_Language == LANG_GERMAN )
PlayMovieInWindow(cmdShow, "movies\\GTAtitlesGER.mpg"); PlayMovieInWindow(cmdShow, "movies\\GTAtitlesGER.mpg");
@ -2259,8 +2264,10 @@ WinMain(HINSTANCE instance,
case GS_INIT_ONCE: case GS_INIT_ONCE:
{ {
#ifndef NO_MOVIES
CloseClip(); CloseClip();
CoUninitialize(); CoUninitialize();
#endif
#ifdef FIX_BUGS #ifdef FIX_BUGS
// draw one frame because otherwise we'll end up looking at black screen for a while if vsync is on // draw one frame because otherwise we'll end up looking at black screen for a while if vsync is on