diff --git a/src/declarativeimports/draganddrop/DeclarativeMimeData.cpp b/src/declarativeimports/draganddrop/DeclarativeMimeData.cpp index e7cab1083..6b72098eb 100644 --- a/src/declarativeimports/draganddrop/DeclarativeMimeData.cpp +++ b/src/declarativeimports/draganddrop/DeclarativeMimeData.cpp @@ -118,9 +118,13 @@ void DeclarativeMimeData::setColor(const QColor &color) } } -void DeclarativeMimeData::setData(const QString &mimeType, const QString &data) +void DeclarativeMimeData::setData(const QString &mimeType, const QVariant &data) { - QMimeData::setData(mimeType, data.toLatin1()); + if (data.type() == QVariant::ByteArray) { + QMimeData::setData(mimeType, data.toByteArray()); + } else if (data.canConvert(QVariant::String)) { + QMimeData::setData(mimeType, data.toString().toLatin1()); + } } /*! diff --git a/src/declarativeimports/draganddrop/DeclarativeMimeData.h b/src/declarativeimports/draganddrop/DeclarativeMimeData.h index ec725af06..797546c7b 100644 --- a/src/declarativeimports/draganddrop/DeclarativeMimeData.h +++ b/src/declarativeimports/draganddrop/DeclarativeMimeData.h @@ -78,7 +78,7 @@ public: QColor color() const; void setColor(const QColor &color); - Q_INVOKABLE void setData(const QString &mimeType, const QString &data); + Q_INVOKABLE void setData(const QString &mimeType, const QVariant &data); QQuickItem* source() const; void setSource(QQuickItem* source);