diff options
| author | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2025-10-12 23:00:20 +0300 |
|---|---|---|
| committer | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2025-10-12 23:00:20 +0300 |
| commit | 4826f86e274f1b29bd769e6790824f9e62a40f62 (patch) | |
| tree | c2cc4bb09ca91951a2641e33c3b0a65deb0af877 /src/quick/items/qquickdrag.cpp | |
| parent | 0f0972d542d9869c2dcfaf9c963d42ff32766460 (diff) | |
| parent | 844f9b9b376838bcb44324984876f8bf99d85d38 (diff) | |
Merge tag 'v6.5.7-lts-lgpl' into 6.56.5
Qt 6.5.7-lts-lgpl release
Diffstat (limited to 'src/quick/items/qquickdrag.cpp')
| -rw-r--r-- | src/quick/items/qquickdrag.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/quick/items/qquickdrag.cpp b/src/quick/items/qquickdrag.cpp index ebc1f33cde..66718b42ed 100644 --- a/src/quick/items/qquickdrag.cpp +++ b/src/quick/items/qquickdrag.cpp @@ -686,11 +686,18 @@ QMimeData *QQuickDragAttachedPrivate::createMimeData() const } else if (mimeType == u"text/html"_s) { mimeData->setHtml(text); } else if (mimeType == u"text/uri-list"_s) { - const QUrl url(text); - if (url.isValid()) - mimeData->setUrls({url}); - else - qmlWarning(q) << text << " is not a valid URI"; + QList<QUrl> urls; + // parse and split according to RFC2483 + const auto lines = text.split(u"\r\n"_s, Qt::SkipEmptyParts); + for (const auto &line : lines) { + const QUrl url(line); + if (url.isValid()) + urls.push_back(url); + else + qmlWarning(q) << line << " is not a valid URI"; + + } + mimeData->setUrls(urls); } else if (mimeType.startsWith(u"text/"_s)) { if (qsizetype charsetIdx = mimeType.lastIndexOf(u";charset="_s); charsetIdx != -1) { charsetIdx += sizeof(";charset=") - 1; |
