diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-10-26 03:06:36 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-10-26 03:06:36 +0200 |
commit | 3c5a3654c1f68cd7ee7e801ab098510ebc6a9071 (patch) | |
tree | 69e425ccc47b575d50e232b21208109ed0ddf925 /src/client/qwaylandwindowmanagerintegration.cpp | |
parent | 3d161cef55eacafc4495e3ba0bcb86089c544dc1 (diff) | |
parent | 137966a6293b50f6b248d130a2e36e67df49335e (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: If09bb13aa7a0aadd5cfb8265166d3b9d1b22e2f1
Diffstat (limited to 'src/client/qwaylandwindowmanagerintegration.cpp')
-rw-r--r-- | src/client/qwaylandwindowmanagerintegration.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/client/qwaylandwindowmanagerintegration.cpp b/src/client/qwaylandwindowmanagerintegration.cpp index 17ae8a5ae..dd1acaf72 100644 --- a/src/client/qwaylandwindowmanagerintegration.cpp +++ b/src/client/qwaylandwindowmanagerintegration.cpp @@ -110,13 +110,17 @@ void QWaylandWindowManagerIntegration::windowmanager_quit() void QWaylandWindowManagerIntegration::openUrl_helper(const QUrl &url) { Q_ASSERT(isInitialized()); - QByteArray data = url.toString().toUtf8(); + QString data = url.toString(); static const int chunkSize = 128; while (!data.isEmpty()) { - QByteArray chunk = data.left(chunkSize); + QString chunk = data.left(chunkSize); data = data.mid(chunkSize); - open_url(!data.isEmpty(), QString::fromUtf8(chunk)); + if (chunk.at(chunk.size() - 1).isHighSurrogate() && !data.isEmpty()) { + chunk.append(data.at(0)); + data = data.mid(1); + } + open_url(!data.isEmpty(), chunk); } } |