From e0d9fade038130ad408715e946c5c08cd2faf81e Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 15 Feb 2012 12:34:04 +0100 Subject: Fix qclipboard autotest on Windows. Emit changed signal only if the clipboard is not owned, in which case QClipboard does it. Task-number: QTBUG-24184 Change-Id: I27420583a718a5f8cd93b9d361b1e422a75df300 Reviewed-by: Friedemann Kleint --- src/plugins/platforms/windows/qwindowsclipboard.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/plugins/platforms') diff --git a/src/plugins/platforms/windows/qwindowsclipboard.cpp b/src/plugins/platforms/windows/qwindowsclipboard.cpp index c1167ccf3a..4f083e93d2 100644 --- a/src/plugins/platforms/windows/qwindowsclipboard.cpp +++ b/src/plugins/platforms/windows/qwindowsclipboard.cpp @@ -283,14 +283,17 @@ bool QWindowsClipboard::clipboardViewerWndProc(HWND hwnd, UINT message, WPARAM w } } return true; - case WM_DRAWCLIPBOARD: + case WM_DRAWCLIPBOARD: { + const bool owned = ownsClipboard(); if (QWindowsContext::verboseOLE) - qDebug("Clipboard changed"); - emitChanged(QClipboard::Clipboard); + qDebug("Clipboard changed owned %d", owned); + if (!owned) // changed is emitted by QClipboard in that case. + emitChanged(QClipboard::Clipboard); // clean up the clipboard object if we no longer own the clipboard - if (!ownsClipboard() && m_data) + if (!owned && m_data) releaseIData(); propagateClipboardMessage(message, wParam, lParam); + } return true; case WM_DESTROY: // Recommended shutdown -- cgit v1.2.3