Debugger: Do not create the console unnecessarily

Triggering console creation in the plugin destructor is not needed.

Change-Id: Ic21016e7a19fa08ea7dd03a8364aa6fc229bb2d1
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
hjk
2018-02-27 13:53:37 +01:00
parent 4c629ed356
commit 8c2bac9359
3 changed files with 12 additions and 2 deletions

View File

@@ -283,11 +283,20 @@ void Console::evaluate(const QString &expression)
}
}
static Console *theConsole = nullptr;
Console *debuggerConsole()
{
static Console *theConsole = new Console;
if (!theConsole)
theConsole = new Console;
return theConsole;
}
void destroyDebuggerConsole()
{
delete theConsole;
theConsole = nullptr;
}
} // Internal
} // Debugger

View File

@@ -99,6 +99,7 @@ private:
};
Console *debuggerConsole();
void destroyDebuggerConsole();
} // namespace Internal
} // namespace Debugger

View File

@@ -1038,7 +1038,7 @@ DebuggerPluginPrivate::DebuggerPluginPrivate(DebuggerPlugin *plugin)
DebuggerPluginPrivate::~DebuggerPluginPrivate()
{
delete debuggerConsole();
destroyDebuggerConsole();
qDeleteAll(m_optionPages);
m_optionPages.clear();