aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/console
diff options
context:
space:
mode:
authorhjk <[email protected]>2018-02-27 13:53:37 +0100
committerhjk <[email protected]>2018-02-28 13:56:21 +0000
commit8c2bac9359634b3eda7c39a1006bb373ed50be98 (patch)
treec160ce3a42941f31d181c76c9e402eaaec35bf69 /src/plugins/debugger/console
parent4c629ed3562d1e1b0af251cae94f3de68a11727e (diff)
Debugger: Do not create the console unnecessarily
Triggering console creation in the plugin destructor is not needed. Change-Id: Ic21016e7a19fa08ea7dd03a8364aa6fc229bb2d1 Reviewed-by: David Schulz <[email protected]>
Diffstat (limited to 'src/plugins/debugger/console')
-rw-r--r--src/plugins/debugger/console/console.cpp11
-rw-r--r--src/plugins/debugger/console/console.h1
2 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/debugger/console/console.cpp b/src/plugins/debugger/console/console.cpp
index 0f2cb819fc7..74800498fbb 100644
--- a/src/plugins/debugger/console/console.cpp
+++ b/src/plugins/debugger/console/console.cpp
@@ -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
diff --git a/src/plugins/debugger/console/console.h b/src/plugins/debugger/console/console.h
index 962df2691f5..e68c5554714 100644
--- a/src/plugins/debugger/console/console.h
+++ b/src/plugins/debugger/console/console.h
@@ -99,6 +99,7 @@ private:
};
Console *debuggerConsole();
+void destroyDebuggerConsole();
} // namespace Internal
} // namespace Debugger