summaryrefslogtreecommitdiffstats
path: root/src/declarative/debugger/qdeclarativedebugserver.cpp
diff options
context:
space:
mode:
authorOlivier Goffart <olivier.goffart@nokia.com>2011-04-18 16:31:19 (GMT)
committerOlivier Goffart <olivier.goffart@nokia.com>2011-04-18 16:31:19 (GMT)
commitfda9cc1d8a0e49817d1c6192c52d18dffcecf327 (patch)
treeaa9a3209339af6882eb496ab827f5ac297452d66 /src/declarative/debugger/qdeclarativedebugserver.cpp
parent6814998ab4d9c6b0990b0bf01119ace69363ce3e (diff)
parentc8aafe9a63b13a4af3049c43fcd5e8cce27db829 (diff)
downloadQt-fda9cc1d8a0e49817d1c6192c52d18dffcecf327.zip
Qt-fda9cc1d8a0e49817d1c6192c52d18dffcecf327.tar.gz
Qt-fda9cc1d8a0e49817d1c6192c52d18dffcecf327.tar.bz2
Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7
Conflicts: qmake/generators/makefile.cpp qmake/generators/win32/msbuild_objectmodel.cpp qmake/generators/win32/msvc_vcxproj.cpp src/corelib/global/qnamespace.h src/gui/text/qtextcontrol.cpp
Diffstat (limited to 'src/declarative/debugger/qdeclarativedebugserver.cpp')
-rw-r--r--src/declarative/debugger/qdeclarativedebugserver.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/declarative/debugger/qdeclarativedebugserver.cpp b/src/declarative/debugger/qdeclarativedebugserver.cpp
index e43b90d..75e9a09 100644
--- a/src/declarative/debugger/qdeclarativedebugserver.cpp
+++ b/src/declarative/debugger/qdeclarativedebugserver.cpp
@@ -91,7 +91,7 @@ public:
QStringList clientPlugins;
bool gotHello;
- static QDeclarativeDebugServerConnection *loadConnectionPlugin();
+ static QDeclarativeDebugServerConnection *loadConnectionPlugin(const QString &pluginName);
};
QDeclarativeDebugServerPrivate::QDeclarativeDebugServerPrivate() :
@@ -113,7 +113,8 @@ void QDeclarativeDebugServerPrivate::advertisePlugins()
connection->send(message);
}
-QDeclarativeDebugServerConnection *QDeclarativeDebugServerPrivate::loadConnectionPlugin()
+QDeclarativeDebugServerConnection *QDeclarativeDebugServerPrivate::loadConnectionPlugin(
+ const QString &pluginName)
{
QStringList pluginCandidates;
const QStringList paths = QCoreApplication::libraryPaths();
@@ -122,7 +123,8 @@ QDeclarativeDebugServerConnection *QDeclarativeDebugServerPrivate::loadConnectio
if (dir.exists()) {
QStringList plugins(dir.entryList(QDir::Files));
foreach (const QString &pluginPath, plugins) {
- pluginCandidates << dir.absoluteFilePath(pluginPath);
+ if (QFileInfo(pluginPath).fileName().contains(pluginName))
+ pluginCandidates << dir.absoluteFilePath(pluginPath);
}
}
}
@@ -166,7 +168,7 @@ QDeclarativeDebugServer *QDeclarativeDebugServer::instance()
bool block = false;
bool ok = false;
- // format: qmljsdebugger=port:3768[,block]
+ // format: qmljsdebugger=port:3768[,block] OR qmljsdebugger=ost[,block]
if (!appD->qmljsDebugArgumentsString().isEmpty()) {
if (!QDeclarativeEnginePrivate::qml_debugging_enabled) {
const QString message =
@@ -177,17 +179,23 @@ QDeclarativeDebugServer *QDeclarativeDebugServer::instance()
return 0;
}
+ QString pluginName;
if (appD->qmljsDebugArgumentsString().indexOf(QLatin1String("port:")) == 0) {
int separatorIndex = appD->qmljsDebugArgumentsString().indexOf(QLatin1Char(','));
port = appD->qmljsDebugArgumentsString().mid(5, separatorIndex - 5).toInt(&ok);
+ pluginName = QLatin1String("qmldbg_tcp");
+ } else if (appD->qmljsDebugArgumentsString().contains("ost")) {
+ pluginName = QLatin1String("qmldbg_ost");
+ ok = true;
}
+
block = appD->qmljsDebugArgumentsString().contains(QLatin1String("block"));
if (ok) {
server = new QDeclarativeDebugServer();
QDeclarativeDebugServerConnection *connection
- = QDeclarativeDebugServerPrivate::loadConnectionPlugin();
+ = QDeclarativeDebugServerPrivate::loadConnectionPlugin(pluginName);
if (connection) {
server->d_func()->connection = connection;