diff options
Diffstat (limited to 'src/plugins/platforms/vnc/qvncintegration.cpp')
-rw-r--r-- | src/plugins/platforms/vnc/qvncintegration.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/platforms/vnc/qvncintegration.cpp b/src/plugins/platforms/vnc/qvncintegration.cpp index ee224bd36a..810c5d2a90 100644 --- a/src/plugins/platforms/vnc/qvncintegration.cpp +++ b/src/plugins/platforms/vnc/qvncintegration.cpp @@ -53,14 +53,24 @@ #include <QtPlatformSupport/private/qlibinputhandler_p.h> #endif +#include <QtCore/QRegularExpression> + QT_BEGIN_NAMESPACE QVncIntegration::QVncIntegration(const QStringList ¶mList) : m_fontDb(new QGenericUnixFontDatabase), m_services(new QGenericUnixServices) { + QRegularExpression portRx(QLatin1String("port=(\\d+)")); + quint16 port = 5900; + for (const QString &arg : paramList) { + QRegularExpressionMatch match; + if (arg.contains(portRx, &match)) + port = match.captured(1).toInt(); + } + m_primaryScreen = new QVncScreen(paramList); - m_server = new QVncServer(m_primaryScreen); + m_server = new QVncServer(m_primaryScreen, port); m_primaryScreen->vncServer = m_server; } |