Fix qclipboard autotest on Windows.
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>
Wed, 15 Feb 2012 11:34:04 +0000 (12:34 +0100)
committerQt by Nokia <qt-info@nokia.com>
Fri, 17 Feb 2012 23:00:21 +0000 (00:00 +0100)
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 <Friedemann.Kleint@nokia.com>
src/plugins/platforms/windows/qwindowsclipboard.cpp
tests/auto/gui/kernel/qclipboard/test/test.pro

index c1167cc..4f083e9 100644 (file)
@@ -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
index ffab4de..4be6769 100644 (file)
@@ -16,7 +16,6 @@ wince* {
 }
 
 mac: CONFIG += insignificant_test # QTBUG-23057
-win32:CONFIG += insignificant_test # QTBUG-24184
 
 load(testcase) # for target.path and installTestHelperApp()
 installTestHelperApp("../copier/copier",copier,copier)