Debugger: Fix Ctrl-C console crash on Windows.

Do not create static QObject.
This commit is contained in:
Friedemann Kleint
2011-03-02 14:05:32 +01:00
parent ae3115502c
commit 827fbd6aa7

View File

@@ -486,13 +486,6 @@ public:
bool acceptsDebuggerCommands() const { return false; } bool acceptsDebuggerCommands() const { return false; }
}; };
static DebuggerEngine *dummyEngine()
{
static DummyEngine dummy;
return &dummy;
}
/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////
// //
// DebugMode // DebugMode
@@ -589,6 +582,7 @@ public:
void connectEngine(DebuggerEngine *engine); void connectEngine(DebuggerEngine *engine);
void disconnectEngine() { connectEngine(0); } void disconnectEngine() { connectEngine(0); }
DebuggerEngine *currentEngine() const { return m_currentEngine; } DebuggerEngine *currentEngine() const { return m_currentEngine; }
DebuggerEngine *dummyEngine();
public slots: public slots:
void writeSettings() void writeSettings()
@@ -1058,10 +1052,12 @@ public:
QStringList m_arguments; QStringList m_arguments;
DebuggerToolTipManager *m_toolTipManager; DebuggerToolTipManager *m_toolTipManager;
CommonOptionsPage *m_commonOptionsPage; CommonOptionsPage *m_commonOptionsPage;
DummyEngine *m_dummyEngine;
}; };
DebuggerPluginPrivate::DebuggerPluginPrivate(DebuggerPlugin *plugin) : DebuggerPluginPrivate::DebuggerPluginPrivate(DebuggerPlugin *plugin) :
m_toolTipManager(new DebuggerToolTipManager(this)) m_toolTipManager(new DebuggerToolTipManager(this)),
m_dummyEngine(0)
{ {
qRegisterMetaType<WatchData>("WatchData"); qRegisterMetaType<WatchData>("WatchData");
qRegisterMetaType<ContextData>("ContextData"); qRegisterMetaType<ContextData>("ContextData");
@@ -1128,6 +1124,16 @@ DebuggerPluginPrivate::~DebuggerPluginPrivate()
m_breakHandler = 0; 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() DebuggerCore *debuggerCore()
{ {
return theDebuggerCore; return theDebuggerCore;