ui/gtk: fix cursor moved to left corner
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 20 Mar 2023 13:26:24 +0000 (17:26 +0400)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Tue, 21 Mar 2023 07:17:01 +0000 (11:17 +0400)
commit281a77df28bdea2b4c475a26d4c2d92b2d931af9
treed9153a112e1f285cf5d6d64362461eb71722a03d
parent74bc00c6b9065e34f04000a06c89cd04a814a599
ui/gtk: fix cursor moved to left corner

Do not attempt to move the pointer if the widget is not yet realized.
The mouse cursor is placed to the corner of the screen, on X11 at least,
as x_root and y_root are then miscalculated. (this is not reproducible
on Wayland, because Gtk doesn't implement device warping there)

This also fixes the following warning at start:
qemu: Gdk: gdk_window_get_root_coords: assertion 'GDK_IS_WINDOW (window)' failed

Fixes: 6effaa16ac98 ("ui: set cursor position upon listener
registration")
Reported-by: Bernhard Beschow <shentey@gmail.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Tested-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20230320132624.1612464-1-marcandre.lureau@redhat.com>
ui/gtk.c