summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx
diff options
context:
space:
mode:
authorRafael Roquetto <rafael.roquetto.qnx@kdab.com>2013-01-07 18:35:57 -0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-08 19:05:24 +0100
commit0a977e36e06a69583d8e4edc27ca3df634c53404 (patch)
tree943f716010c1d5341de9e33acd0f451cce6bf23d /src/plugins/platforms/qnx
parent54fd35b134af8d2a17c9c4ece531ddd2ee7258e2 (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/platforms/qnx')
-rw-r--r--src/plugins/platforms/qnx/qqnxclipboard.cpp9
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;