]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
ui/clipboard: clear deferred serial reset flag on resume
authorGuoHan Zhao <zhaoguohan@kylinos.cn>
Thu, 16 Apr 2026 07:04:03 +0000 (15:04 +0800)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Wed, 22 Apr 2026 08:46:04 +0000 (12:46 +0400)
cb_reset_serial_on_resume defers a clipboard serial reset until the
machine runs again. qemu_clipboard_change_state() performs that reset
on resume, but leaves the flag set.

As a result, every later transition back to RUNNING triggers another
QEMU_CLIPBOARD_RESET_SERIAL notification even when no reset is pending.
That causes unnecessary reset handling in clipboard backends such as
vdagent and dbus.

Clear the deferred flag before resetting so the reset is performed only
once for each deferred request.

Fixes: c967ff606b99 ("ui/clipboard: delay clipboard update when not running")
Signed-off-by: GuoHan Zhao <zhaoguohan@kylinos.cn>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260416070403.1683648-1-zhaoguohan@kylinos.cn>

ui/clipboard.c

index ec00a0b8ec75342ecf601582073ddf25d65d0d65..e3d8a31ba9f70a080fc3eb539c86fedd6bd4964b 100644 (file)
@@ -47,6 +47,7 @@ static void qemu_clipboard_change_state(void *opaque, bool running, RunState sta
     }
 
     if (cb_reset_serial_on_resume) {
+        cb_reset_serial_on_resume = false;
         qemu_clipboard_reset_serial();
     }