From 4e5be319e4a1a73861806d314e5653e6f2327842 Mon Sep 17 00:00:00 2001 From: derrod Date: Fri, 18 Aug 2023 15:46:21 +0200 Subject: [PATCH] UI: Move restart to end of main() --- UI/obs-app.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp index 04d321443..135b6364d 100644 --- a/UI/obs-app.cpp +++ b/UI/obs-app.cpp @@ -110,6 +110,7 @@ string opt_starting_scene; bool restart = false; bool restart_safe = false; +QStringList arguments; QPointer obsLogViewer; @@ -2587,16 +2588,13 @@ static int run_program(fstream &logFile, int argc, char *argv[]) } if (restart || restart_safe) { - auto args = qApp->arguments(); - auto executable = args[0]; + arguments = qApp->arguments(); if (restart_safe) { - args.append("--safe-mode"); + arguments.append("--safe-mode"); } else { - args.removeAll("--safe-mode"); + arguments.removeAll("--safe-mode"); } - - QProcess::startDetached(executable, args); } return ret; @@ -3511,5 +3509,11 @@ int main(int argc, char *argv[]) delete_safe_mode_sentinel(); blog(LOG_INFO, "Number of memory leaks: %ld", bnum_allocs()); base_set_log_handler(nullptr, nullptr); + + if (restart || restart_safe) { + auto executable = arguments.takeFirst(); + QProcess::startDetached(executable, arguments); + } + return ret; }