launcher: multirun should work on POSIX now

This commit is contained in:
tyabus 2023-03-04 12:59:02 +06:00
parent db6a9839fe
commit 88418ebb4d

View File

@ -1278,6 +1278,10 @@ DLL_EXPORT int LauncherMain( int argc, char **argv )
// Figure out the directory the executable is running from
UTIL_ComputeBaseDir();
// Allow the user to explicitly say they want to be able to run multiple instances of the source mutex.
// Useful for side-by-side comparisons of different renderers.
bool multiRun = CommandLine()->CheckParm( "-multirun" ) != NULL;
#if defined( _X360 )
bool bSpewDllInfo = CommandLine()->CheckParm( "-dllinfo" );
bool bWaitForConsole = CommandLine()->CheckParm( "-vxconsole" );
@ -1389,10 +1393,6 @@ DLL_EXPORT int LauncherMain( int argc, char **argv )
// Can only run one windowed source app at a time
if ( !GrabSourceMutex() )
{
// Allow the user to explicitly say they want to be able to run multiple instances of the source mutex.
// Useful for side-by-side comparisons of different renderers.
bool multiRun = CommandLine()->CheckParm( "-multirun" ) != NULL;
// We're going to hijack the existing session and load a new savegame into it. This will mainly occur when users click on links in Bugzilla that will automatically copy saves and load them
// directly from the web browser. The -hijack command prevents the launcher from objecting that there is already an instance of the game.
if (CommandLine()->CheckParm( "-hijack" ))
@ -1443,7 +1443,7 @@ DLL_EXPORT int LauncherMain( int argc, char **argv )
#elif defined( POSIX )
else
{
if ( !GrabSourceMutex() )
if ( !GrabSourceMutex() && !multiRun )
{
::MessageBox(NULL, "Only one instance of the game can be running at one time.", "Source - Warning", 0 );
return -1;