diff --git a/src/plugins/debugger/qml/qmlinspectoradapter.cpp b/src/plugins/debugger/qml/qmlinspectoradapter.cpp index e48c3392b39664a466481dc2ce8cf0f05e91ec07..164d77258c33d78f4e24608f26c37e3dd9c73f11 100644 --- a/src/plugins/debugger/qml/qmlinspectoradapter.cpp +++ b/src/plugins/debugger/qml/qmlinspectoradapter.cpp @@ -251,7 +251,8 @@ void QmlInspectorAdapter::engineClientStatusChanged(QmlDebug::ClientStatus statu BaseEngineDebugClient *client = qobject_cast<BaseEngineDebugClient*>(sender()); - if (status == QmlDebug::Enabled) { + if (status == QmlDebug::Enabled && !m_engineClientConnected) { + // We accept the first client that is enabled and reject the others. QTC_ASSERT(client, return); setActiveEngineClient(client); } else if (m_engineClientConnected && client == m_engineClient) { diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index 26e4eefb7cb113c00c373704814a1cd8ee8c8534..310759593e2b5ba32cfe6382b93ce204dcd9563a 100644 --- a/src/plugins/qt4projectmanager/qmakestep.cpp +++ b/src/plugins/qt4projectmanager/qmakestep.cpp @@ -201,9 +201,12 @@ QStringList QMakeStep::deducedArguments() if (!version->needsQmlDebuggingLibrary()) { // This Qt version has the QML debugging services built in, however // they still need to be enabled at compile time - arguments << (version->qtVersion().majorVersion >= 5 ? - QLatin1String(Constants::QMAKEVAR_DECLARATIVE_DEBUG5) : - QLatin1String(Constants::QMAKEVAR_DECLARATIVE_DEBUG4)); + // TODO: For Qt5, we can pass both arguments as there can be Qt Quick 1/2 projects. + // Currently there is no support for debugging multiple engines. + arguments << QLatin1String(Constants::QMAKEVAR_QUICK1_DEBUG); + if (version->qtVersion().majorVersion >= 5) { + arguments << QLatin1String(Constants::QMAKEVAR_QUICK2_DEBUG); + } } else { const QString qmlDebuggingHelperLibrary = version->qmlDebuggingHelperLibrary(true); if (!qmlDebuggingHelperLibrary.isEmpty()) { diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp index a17fa4d4b6b205e23e4a59f485a4055fc4ce7169..5b2b8f247f7dc8e194dd5815d30524a7f1bbd9a0 100644 --- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp @@ -436,8 +436,8 @@ bool Qt4BuildConfiguration::removeQMLInspectorFromArguments(QString *args) for (Utils::QtcProcess::ArgIterator ait(args); ait.next(); ) { const QString arg = ait.value(); if (arg.contains(QLatin1String(Constants::QMAKEVAR_QMLJSDEBUGGER_PATH)) - || arg.contains(QLatin1String(Constants::QMAKEVAR_DECLARATIVE_DEBUG4)) - || arg.contains(QLatin1String(Constants::QMAKEVAR_DECLARATIVE_DEBUG5))) { + || arg.contains(QLatin1String(Constants::QMAKEVAR_QUICK1_DEBUG)) + || arg.contains(QLatin1String(Constants::QMAKEVAR_QUICK2_DEBUG))) { ait.deleteArg(); removedArgument = true; } diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerconstants.h b/src/plugins/qt4projectmanager/qt4projectmanagerconstants.h index 1710c0bfb27c416c6fd55bef253d1df791285b75..ebb77f1789d390bd06b9a5fc007b6f6e50be4f0f 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanagerconstants.h +++ b/src/plugins/qt4projectmanager/qt4projectmanagerconstants.h @@ -89,8 +89,8 @@ const char ICON_HTML5_APP[] = ":/wizards/images/html5app.png"; // Env variables const char QMAKEVAR_QMLJSDEBUGGER_PATH[] = "QMLJSDEBUGGER_PATH"; -const char QMAKEVAR_DECLARATIVE_DEBUG4[] = "CONFIG+=declarative_debug"; -const char QMAKEVAR_DECLARATIVE_DEBUG5[] = "CONFIG+=qml_debug"; +const char QMAKEVAR_QUICK1_DEBUG[] = "CONFIG+=declarative_debug"; +const char QMAKEVAR_QUICK2_DEBUG[] = "CONFIG+=qml_debug"; // Unconfigured Panel const char UNCONFIGURED_PANEL_PAGE_ID[] = "UnconfiguredPanel";