summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DolphinQt/Main.cpp')
-rw-r--r--Source/Core/DolphinQt/Main.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/Source/Core/DolphinQt/Main.cpp b/Source/Core/DolphinQt/Main.cpp
index 65cbd0360d..b54caae0b8 100644
--- a/Source/Core/DolphinQt/Main.cpp
+++ b/Source/Core/DolphinQt/Main.cpp
@@ -138,7 +138,7 @@ int main(int argc, char* argv[])
UICommon::CreateDirectories();
UICommon::Init();
Resources::Init();
- Settings::Instance().SetBatchModeEnabled(options.is_set("batch") && options.is_set("exec"));
+ Settings::Instance().SetBatchModeEnabled(options.is_set("batch"));
// Hook up alerts from core
Common::RegisterMsgAlertHandler(QtMsgAlertHandler);
@@ -152,12 +152,14 @@ int main(int argc, char* argv[])
&app, &Core::HostDispatchJobs);
std::unique_ptr<BootParameters> boot;
+ bool game_specified = false;
if (options.is_set("exec"))
{
const std::list<std::string> paths_list = options.all("exec");
const std::vector<std::string> paths{std::make_move_iterator(std::begin(paths_list)),
std::make_move_iterator(std::end(paths_list))};
boot = BootParameters::GenerateFromFile(paths);
+ game_specified = true;
}
else if (options.is_set("nand_title"))
{
@@ -171,14 +173,30 @@ int main(int argc, char* argv[])
{
ModalMessageBox::critical(nullptr, QObject::tr("Error"), QObject::tr("Invalid title ID."));
}
+ game_specified = true;
}
else if (!args.empty())
{
boot = BootParameters::GenerateFromFile(args.front());
+ game_specified = true;
}
int retval;
+ if (Settings::Instance().IsBatchModeEnabled() && !game_specified)
+ {
+ ModalMessageBox::critical(
+ nullptr, QObject::tr("Error"),
+ QObject::tr("Batch mode cannot be used without specifying a game to launch."));
+ retval = 1;
+ }
+ else if (Settings::Instance().IsBatchModeEnabled() && !boot)
+ {
+ // A game to launch was specified, but it was invalid.
+ // An error has already been shown by code above, so exit without showing another error.
+ retval = 1;
+ }
+ else
{
DolphinAnalytics::Instance().ReportDolphinStart("qt");