diff options
author | Rafael Roquetto <rafael.roquetto.qnx@kdab.com> | 2013-01-07 18:35:57 -0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-08 19:05:24 +0100 |
commit | 0a977e36e06a69583d8e4edc27ca3df634c53404 (patch) | |
tree | 943f716010c1d5341de9e33acd0f451cce6bf23d /src/plugins | |
parent | 54fd35b134af8d2a17c9c4ece531ddd2ee7258e2 (diff) |
Fix QNX QPA plugin clipboard impl
QQnxCliboard::setMimeData was not cleaning the system clipboard aproppriately
when m_mimeData != 0 but m_mimeData->userMimeData == 0, as it would return
early before the empty_clipboard() statement.
Also, we need to emit the dataChanged() signal after the clipboard has been
cleared as well.
Change-Id: Ie06609e6e3a0a0135f1cdb6cf4c90b490ef2fc28
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/qnx/qqnxclipboard.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/platforms/qnx/qqnxclipboard.cpp b/src/plugins/platforms/qnx/qqnxclipboard.cpp index 47b9cd438c..8286febd35 100644 --- a/src/plugins/platforms/qnx/qqnxclipboard.cpp +++ b/src/plugins/platforms/qnx/qqnxclipboard.cpp @@ -186,7 +186,10 @@ void QQnxClipboard::setMimeData(QMimeData *data, QClipboard::Mode mode) if (mode != QClipboard::Clipboard) return; - if (data == m_mimeData || data == m_mimeData->userMimeData()) + if (m_mimeData == data) + return; + + if (m_mimeData->userMimeData() && m_mimeData->userMimeData() == data) return; empty_clipboard(); @@ -194,8 +197,10 @@ void QQnxClipboard::setMimeData(QMimeData *data, QClipboard::Mode mode) m_mimeData->clear(); m_mimeData->setUserMimeData(data); - if (data == 0) + if (data == 0) { + emitChanged(QClipboard::Clipboard); return; + } const QStringList formats = data->formats(); qClipboardDebug() << Q_FUNC_INFO << "formats=" << formats; |