summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2009-11-11 01:52:27 (GMT)
committerBea Lam <bea.lam@nokia.com>2009-11-11 01:52:27 (GMT)
commite053a16f2d07a9d95297cc9a5b3fd38c3a7a5d56 (patch)
tree2bdb8914bfd2986b8d165c71b6e9074a13f5e2b6 /src
parentc44c19cb16e06625f5ee71493190ad4276e4d8ef (diff)
downloadQt-e053a16f2d07a9d95297cc9a5b3fd38c3a7a5d56.zip
Qt-e053a16f2d07a9d95297cc9a5b3fd38c3a7a5d56.tar.gz
Qt-e053a16f2d07a9d95297cc9a5b3fd38c3a7a5d56.tar.bz2
Fix debugger crash on exit
Diffstat (limited to 'src')
-rw-r--r--src/declarative/debugger/qmldebug.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/declarative/debugger/qmldebug.cpp b/src/declarative/debugger/qmldebug.cpp
index 326c933..72f613a 100644
--- a/src/declarative/debugger/qmldebug.cpp
+++ b/src/declarative/debugger/qmldebug.cpp
@@ -428,13 +428,15 @@ void QmlEngineDebug::removeWatch(QmlDebugWatch *watch)
{
Q_D(QmlEngineDebug);
- if (!watch || watch->state() == QmlDebugWatch::Dead)
+ if (!watch || !watch->m_client)
return;
- watch->setState(QmlDebugWatch::Dead);
+ watch->m_client = 0;
+ watch->setState(QmlDebugWatch::Inactive);
+
d->watched.remove(watch->queryId());
- if (d->client->isConnected()) {
+ if (d->client && d->client->isConnected()) {
QByteArray message;
QDataStream ds(&message, QIODevice::WriteOnly);
ds << QByteArray("NO_WATCH") << watch->queryId();
@@ -562,7 +564,6 @@ QmlDebugWatch::QmlDebugWatch(QObject *parent)
QmlDebugWatch::~QmlDebugWatch()
{
- m_client->removeWatch(this);
}
int QmlDebugWatch::queryId() const