diff --git a/src/plugins/platforms/wasm/qwasmdom.cpp b/src/plugins/platforms/wasm/qwasmdom.cpp index 6b2b3d09336..96790ca71f3 100644 --- a/src/plugins/platforms/wasm/qwasmdom.cpp +++ b/src/plugins/platforms/wasm/qwasmdom.cpp @@ -104,7 +104,10 @@ void DataTransfer::toMimeDataWithFile(std::function callback) if (--m_remainingItemCount > 0) return; - mimeData->setUrls(fileUrls); + QList allUrls; + allUrls.append(mimeData->urls()); + allUrls.append(fileUrls); + mimeData->setUrls(allUrls); m_callback(mimeData); @@ -201,7 +204,11 @@ void DataTransfer::toMimeDataWithFile(std::function callback) mimeContext->mimeData->setHtml(data); else if (itemMimeType.isEmpty() || itemMimeType == "text/plain") mimeContext->mimeData->setText(data); // the type can be empty - else { + else if (itemMimeType.isEmpty() || itemMimeType == "text/uri-list") { + QList urls; + urls.append(data); + mimeContext->mimeData->setUrls(urls); + } else { // TODO improve encoding if (data.startsWith("QB64")) { data.remove(0, 4); diff --git a/tests/manual/wasm/clipboard/mainwindow.cpp b/tests/manual/wasm/clipboard/mainwindow.cpp index 81a95c42180..c67c795b053 100644 --- a/tests/manual/wasm/clipboard/mainwindow.cpp +++ b/tests/manual/wasm/clipboard/mainwindow.cpp @@ -275,7 +275,11 @@ void MainWindow::dropEvent(QDropEvent* e) } ui->textEdit_2->insertPlainText(" Drop has url data length: " + sizeStr + "\n"); - ui->textEdit_2->insertPlainText(" " + urlStr + " sha1 " + sha1.left(8) + "\n"); + if (sha1.isEmpty()) { + ui->textEdit->insertPlainText(urlStr); + } + ui->textEdit_2->insertPlainText(" " + urlStr + (!sha1.isEmpty() ? " sha1 " + sha1.left(8) : "") + "\n"); + } ui->textEdit_2->insertPlainText("\n");