mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-12-29 09:30:20 +00:00
Treat --debugger command line as a temporary setting
Before, Settings::SetDebugModeEnabled was used; this calls SetBaseOrCurrent() which will usually permanently change the base configuration setting for the debugger to true. Thus, the debugger would remain active even if the --debugger command line option was removed. Now, it remains active only for the current run, like other command-line options. Note that SetBaseOrCurrent is also used by the "Show Debugging UI" option under Options -> Interface; this means that if the debugger is turned off (or off and then back on) by the user while --debugger is specified, this will be reset to whatever the base configuration had when Dolphin is closed and reopened. This behavior is consistent with the rest of the UI. To my understanding, the --debugger option is something from 5.0 stable/DolphinWx where there was no way to toggle the debug UI in the settings (and the command-line option was the only way of enabling it). It's less useful nowadays.
This commit is contained in:
parent
1a2dcc53f2
commit
c0b6e9e69c
@ -257,8 +257,6 @@ int main(int argc, char* argv[])
|
||||
|
||||
MainWindow win{std::move(boot), static_cast<const char*>(options.get("movie"))};
|
||||
Settings::Instance().SetCurrentUserStyle(Settings::Instance().GetCurrentUserStyle());
|
||||
if (options.is_set("debugger"))
|
||||
Settings::Instance().SetDebugModeEnabled(true);
|
||||
win.Show();
|
||||
|
||||
#if defined(USE_ANALYTICS) && USE_ANALYTICS
|
||||
|
@ -22,7 +22,7 @@ class CommandLineConfigLayerLoader final : public Config::ConfigLayerLoader
|
||||
{
|
||||
public:
|
||||
CommandLineConfigLayerLoader(const std::list<std::string>& args, const std::string& video_backend,
|
||||
const std::string& audio_backend, bool batch)
|
||||
const std::string& audio_backend, bool batch, bool debugger)
|
||||
: ConfigLayerLoader(Config::LayerType::CommandLine)
|
||||
{
|
||||
if (!video_backend.empty())
|
||||
@ -39,6 +39,9 @@ public:
|
||||
if (batch)
|
||||
m_values.emplace_back(Config::MAIN_RENDER_TO_MAIN.GetLocation(), ValueToString(false));
|
||||
|
||||
if (debugger)
|
||||
m_values.emplace_back(Config::MAIN_ENABLE_DEBUGGING.GetLocation(), ValueToString(true));
|
||||
|
||||
// Arguments are in the format of <System>.<Section>.<Key>=Value
|
||||
for (const auto& arg : args)
|
||||
{
|
||||
@ -134,7 +137,7 @@ static void AddConfigLayer(const optparse::Values& options)
|
||||
Config::AddLayer(std::make_unique<CommandLineConfigLayerLoader>(
|
||||
std::move(config_args), static_cast<const char*>(options.get("video_backend")),
|
||||
static_cast<const char*>(options.get("audio_emulation")),
|
||||
static_cast<bool>(options.get("batch"))));
|
||||
static_cast<bool>(options.get("batch")), static_cast<bool>(options.get("debugger"))));
|
||||
}
|
||||
|
||||
optparse::Values& ParseArguments(optparse::OptionParser* parser, int argc, char** argv)
|
||||
|
Loading…
Reference in New Issue
Block a user