From 0a977e36e06a69583d8e4edc27ca3df634c53404 Mon Sep 17 00:00:00 2001 From: Rafael Roquetto Date: Mon, 7 Jan 2013 18:35:57 -0200 Subject: 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 Reviewed-by: Sean Harmer --- src/plugins/platforms/qnx/qqnxclipboard.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/plugins/platforms/qnx') 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; -- cgit v1.2.3