diff --git a/tests/integration/features/conftest.py b/tests/integration/features/conftest.py index 5d374af77..be2af7cf3 100644 --- a/tests/integration/features/conftest.py +++ b/tests/integration/features/conftest.py @@ -395,9 +395,13 @@ def _wait_for_clipboard(qtbot, clipboard, mode, expected): while True: if clipboard.text(mode=mode) == expected: return - with qtbot.waitSignal(clipboard.changed, timeout=timeout) as blocker: + + # We need to poll the clipboard, as for some reason it can change with + # emitting changed (?). + with qtbot.waitSignal(clipboard.changed, timeout=100) as blocker: pass - if not blocker.signal_triggered or timer.hasExpired(timeout): + + if timer.hasExpired(timeout): mode_names = { QClipboard.Clipboard: 'clipboard', QClipboard.Selection: 'primary selection',