From 446c613fa79335a904fce9125d195d6308e2dfb5 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Fri, 29 Nov 2024 15:15:27 +0000 Subject: [PATCH] Client: advertise utf-8 text formats when creating drags Some clients ignore text/plain only look for utf-8 text to be sent. When creating a clipboard source we advertise both, but this step was previously not copied for drag handling. Pick-to: 6.9 Change-Id: Ibe1476c309e88d6499ae0e6cb96a96aa07b4af71 Reviewed-by: David Edmundson --- src/plugins/platforms/wayland/qwaylanddatadevice.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/plugins/platforms/wayland/qwaylanddatadevice.cpp b/src/plugins/platforms/wayland/qwaylanddatadevice.cpp index 7de41da584e..4505a487bc4 100644 --- a/src/plugins/platforms/wayland/qwaylanddatadevice.cpp +++ b/src/plugins/platforms/wayland/qwaylanddatadevice.cpp @@ -98,6 +98,12 @@ bool QWaylandDataDevice::startDrag(QMimeData *mimeData, Qt::DropActions supporte if (mimeData->formats().isEmpty()) mimeData->setData("application/x-qt-avoid-empty-placeholder"_L1, QByteArray("1")); + static const QString plain = QStringLiteral("text/plain"); + static const QString utf8 = QStringLiteral("text/plain;charset=utf-8"); + + if (mimeData->hasFormat(plain) && !mimeData->hasFormat(utf8)) + mimeData->setData(utf8, mimeData->data(plain)); + m_dragSource.reset(new QWaylandDataSource(m_display->dndSelectionHandler(), mimeData)); if (version() >= 3)