mirror of
https://github.com/redstrate/Astra.git
synced 2025-04-23 04:57:44 +00:00
Use KSandbox to wrap in flatpak host spawn if needed
This commit is contained in:
parent
40a762cead
commit
68f76f63d4
1 changed files with 9 additions and 5 deletions
|
@ -3,6 +3,8 @@
|
||||||
|
|
||||||
#include "gamerunner.h"
|
#include "gamerunner.h"
|
||||||
|
|
||||||
|
#include <KSandbox>
|
||||||
|
|
||||||
#ifdef ENABLE_GAMEMODE
|
#ifdef ENABLE_GAMEMODE
|
||||||
#include <gamemode_client.h>
|
#include <gamemode_client.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -283,10 +285,6 @@ void GameRunner::launchExecutable(const Profile &profile, QProcess *process, con
|
||||||
env.insert(QStringLiteral("MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS"), QString::number(1));
|
env.insert(QStringLiteral("MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS"), QString::number(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(FLATPAK)
|
|
||||||
arguments.push_back(QStringLiteral("flatpak-spawn"));
|
|
||||||
arguments.push_back(QStringLiteral("--host"));
|
|
||||||
#endif
|
|
||||||
arguments.push_back(profile.winePath());
|
arguments.push_back(profile.winePath());
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -301,8 +299,14 @@ void GameRunner::launchExecutable(const Profile &profile, QProcess *process, con
|
||||||
|
|
||||||
process->setProcessEnvironment(env);
|
process->setProcessEnvironment(env);
|
||||||
|
|
||||||
|
// Wrap in flatpak host spawn if needed
|
||||||
|
if (KSandbox::isInside()) {
|
||||||
|
const auto context = KSandbox::makeHostContext(*process);
|
||||||
|
process->start(context.program, context.arguments);
|
||||||
|
} else {
|
||||||
process->start(executable, arguments);
|
process->start(executable, arguments);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void GameRunner::addRegistryKey(const Profile &settings, QString key, QString value, QString data)
|
void GameRunner::addRegistryKey(const Profile &settings, QString key, QString value, QString data)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue