diff --git a/src/declarative/debugger/qmldebugservice.cpp b/src/declarative/debugger/qmldebugservice.cpp index 6913def..fbd19c5 100644 --- a/src/declarative/debugger/qmldebugservice.cpp +++ b/src/declarative/debugger/qmldebugservice.cpp @@ -46,6 +46,9 @@ #include #include #include +#ifdef Q_OS_WINCE +#include +#endif QT_BEGIN_NAMESPACE @@ -144,13 +147,38 @@ QmlDebugServer *QmlDebugServer::instance() if (!envTested) { envTested = true; - QByteArray env = qgetenv("QML_DEBUG_SERVER_PORT"); - bool ok = false; - int port = env.toInt(&ok); - - if (ok && port > 1024) - server = new QmlDebugServer(port); + int port; + QString optionName(QLatin1String("QML_DEBUG_SERVER_PORT")); +#ifndef Q_OS_WINCE + QByteArray env = qgetenv(qPrintable(optionName)); + if (!env.isEmpty()){ + port = env.toInt(&ok); + + if (ok && port > 1024) + server = new QmlDebugServer(port); + else + qWarning("Expected environment variable \'%s\' to have integer value > 1024", qPrintable(optionName)); + } +#else + QStringList appArgs = QCoreApplication::arguments(); + foreach(QString arg, appArgs){ + if (arg.startsWith( "-" + optionName)){ + int pos = arg.indexOf(':'); + if (pos){ + port = arg.mid(pos + 1).toInt(&ok); + }else{ + ok = true; + port = 3768; + } + if (ok && port > 1024) + server = new QmlDebugServer(port); + else + qWarning("Expected in command line option \'-%s:\' to be an integer > 1024", qPrintable(optionName)); + break; + } + } +#endif } return server;