From 827fbd6aa722a1eb052dcfda21868ab97b2b7390 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 2 Mar 2011 14:05:32 +0100 Subject: [PATCH] Debugger: Fix Ctrl-C console crash on Windows. Do not create static QObject. --- src/plugins/debugger/debuggerplugin.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 20ee18b19f3..a9c919a6e26 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -486,13 +486,6 @@ public: bool acceptsDebuggerCommands() const { return false; } }; -static DebuggerEngine *dummyEngine() -{ - static DummyEngine dummy; - return &dummy; -} - - /////////////////////////////////////////////////////////////////////// // // DebugMode @@ -589,6 +582,7 @@ public: void connectEngine(DebuggerEngine *engine); void disconnectEngine() { connectEngine(0); } DebuggerEngine *currentEngine() const { return m_currentEngine; } + DebuggerEngine *dummyEngine(); public slots: void writeSettings() @@ -1058,10 +1052,12 @@ public: QStringList m_arguments; DebuggerToolTipManager *m_toolTipManager; CommonOptionsPage *m_commonOptionsPage; + DummyEngine *m_dummyEngine; }; DebuggerPluginPrivate::DebuggerPluginPrivate(DebuggerPlugin *plugin) : - m_toolTipManager(new DebuggerToolTipManager(this)) + m_toolTipManager(new DebuggerToolTipManager(this)), + m_dummyEngine(0) { qRegisterMetaType("WatchData"); qRegisterMetaType("ContextData"); @@ -1128,6 +1124,16 @@ DebuggerPluginPrivate::~DebuggerPluginPrivate() m_breakHandler = 0; } +DebuggerEngine *DebuggerPluginPrivate::dummyEngine() +{ + if (!m_dummyEngine) { + m_dummyEngine = new DummyEngine; + m_dummyEngine->setParent(this); + m_dummyEngine->setObjectName(_("DummyEngine")); + } + return m_dummyEngine; +} + DebuggerCore *debuggerCore() { return theDebuggerCore;