summaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2024-03-13 11:53:58 +0100
committerLiang Qi <liang.qi@qt.io>2024-03-13 12:37:27 +0100
commit19758eb4093e8d60c69f75174afb7457490e2332 (patch)
tree52e3e9f6440f55564998ad0745021a5e048b24a8 /src/client
parent9ae6b38fef8a8ee7b3fbc0311216c8fa3b3e1d8f (diff)
client: don't cache one type in QWaylandMimeData
"application/vnd.portal.filetransfer", which is only valid for one time use. Fixes: QTBUG-107858 Pick-to: 6.7 6.6 6.5 6.2 5.15 Change-Id: I094de22ea0bb9b3577572e6c57ebe42cdc8c7b41 Reviewed-by: David Edmundson <davidedmundson@kde.org>
Diffstat (limited to 'src/client')
-rw-r--r--src/client/qwaylanddataoffer.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/client/qwaylanddataoffer.cpp b/src/client/qwaylanddataoffer.cpp
index 94cd249fa..8110ce35f 100644
--- a/src/client/qwaylanddataoffer.cpp
+++ b/src/client/qwaylanddataoffer.cpp
@@ -32,6 +32,11 @@ static QString mozUrl()
return QStringLiteral("text/x-moz-url");
}
+static QString portalFileTransfer()
+{
+ return QStringLiteral("application/vnd.portal.filetransfer");
+}
+
static QByteArray convertData(const QString &originalMime, const QString &newMime, const QByteArray &data)
{
if (originalMime == newMime)
@@ -214,7 +219,9 @@ QVariant QWaylandMimeData::retrieveData_sys(const QString &mimeType, QMetaType t
content = convertData(mimeType, mime, content);
- m_data.insert(mimeType, content);
+ if (mimeType != portalFileTransfer())
+ m_data.insert(mimeType, content);
+
return content;
}