qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: "David Hildenbrand" <david@redhat.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Kashyap Chamarthy" <kchamart@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Eric Auger" <eric.auger@redhat.com>,
	"Christian Schoenebeck" <qemu_oss@crudebyte.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Eric Blake" <eblake@redhat.com>,
	"Akihiko Odaki" <akihiko.odaki@daynix.com>
Subject: [PULL 22/26] ui/gtk: Fix the implicit mouse ungrabbing logic
Date: Thu, 13 Oct 2022 08:52:20 +0200	[thread overview]
Message-ID: <20221013065224.1864145-23-kraxel@redhat.com> (raw)
In-Reply-To: <20221013065224.1864145-1-kraxel@redhat.com>

From: Akihiko Odaki <akihiko.odaki@daynix.com>

Although the grab menu item represents the tabbed displays, the old
implicit mouse ungrabbing logic changes the grab menu item even for
an untabbed display.

Leave the grab menu item when implicitly ungrabbing mouse for an
untabbed display. The new ungrabbing logic introduced in
gd_mouse_mode_change() strictly follows the corresponding grabbing
logic found in gd_button_event().

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20221008140116.11473-1-akihiko.odaki@daynix.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/gtk.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/ui/gtk.c b/ui/gtk.c
index 1467b8c7d7f0..6fc2e2396393 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -681,9 +681,13 @@ static void gd_mouse_mode_change(Notifier *notify, void *data)
 
     s = container_of(notify, GtkDisplayState, mouse_mode_notifier);
     /* release the grab at switching to absolute mode */
-    if (qemu_input_is_absolute() && gd_is_grab_active(s)) {
-        gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(s->grab_item),
-                                       FALSE);
+    if (qemu_input_is_absolute() && s->ptr_owner) {
+        if (!s->ptr_owner->window) {
+            gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(s->grab_item),
+                                           FALSE);
+        } else {
+            gd_ungrab_pointer(s);
+        }
     }
     for (i = 0; i < s->nb_vcs; i++) {
         VirtualConsole *vc = &s->vc[i];
-- 
2.37.3



  parent reply	other threads:[~2022-10-13  7:21 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-13  6:51 [PULL 00/26] Kraxel 20221013 patches Gerd Hoffmann
2022-10-13  6:51 ` [PULL 01/26] audio: refactor code in audio_run_out() Gerd Hoffmann
2022-10-13  6:52 ` [PULL 02/26] audio: fix GUS audio playback with out.mixing-engine=off Gerd Hoffmann
2022-10-13  6:52 ` [PULL 03/26] audio: run downstream playback queue unconditionally Gerd Hoffmann
2022-10-13  6:52 ` [PULL 04/26] alsaaudio: reduce playback latency Gerd Hoffmann
2022-10-13  6:52 ` [PULL 05/26] audio: add more audio rate control functions Gerd Hoffmann
2022-10-13  6:52 ` [PULL 06/26] spiceaudio: add a pcm_ops buffer_get_free function Gerd Hoffmann
2022-10-13  6:52 ` [PULL 07/26] spiceaudio: update comment Gerd Hoffmann
2022-10-13  6:52 ` [PULL 08/26] audio: swap audio_rate_get_bytes() function parameters Gerd Hoffmann
2022-10-13  6:52 ` [PULL 09/26] audio: rename audio_sw_bytes_free() Gerd Hoffmann
2022-10-13  6:52 ` [PULL 10/26] audio: refactor audio_get_avail() Gerd Hoffmann
2022-10-13  6:52 ` [PULL 11/26] audio: fix sw->buf size for audio recording Gerd Hoffmann
2022-10-13  6:52 ` [PULL 12/26] audio: prevent an integer overflow in resampling code Gerd Hoffmann
2022-10-13  6:52 ` [PULL 13/26] ui/vnc-clipboard: fix integer underflow in vnc_client_cut_text_ext Gerd Hoffmann
2022-10-13  6:52 ` [PULL 14/26] ui/gtk-egl: egl context needs to be unbound in the end of gd_egl_switch Gerd Hoffmann
2022-10-13  6:52 ` [PULL 15/26] cirrus_vga: fix potential memory overflow Gerd Hoffmann
2022-10-13  6:52 ` [PULL 16/26] docs: add firmware feature flags Gerd Hoffmann
2022-10-13  6:52 ` [PULL 17/26] pci-ids: drop PCI_DEVICE_ID_VIRTIO_IOMMU Gerd Hoffmann
2022-10-13  6:52 ` [PULL 18/26] pci-ids: drop PCI_DEVICE_ID_VIRTIO_MEM Gerd Hoffmann
2022-10-13  6:52 ` [PULL 19/26] pci-ids: drop PCI_DEVICE_ID_VIRTIO_PMEM Gerd Hoffmann
2022-10-13  6:52 ` [PULL 20/26] pci-ids: drop list of modern virtio devices Gerd Hoffmann
2022-10-13  6:52 ` [PULL 21/26] pci-ids: document modern virtio-pci ids in pci.h too Gerd Hoffmann
2022-10-13  6:52 ` Gerd Hoffmann [this message]
2022-10-13  6:52 ` [PULL 23/26] qemu-edid: Restrict input parameter -d to avoid division by zero Gerd Hoffmann
2022-10-13  6:52 ` [PULL 24/26] gtk: Add show_menubar=on|off command line option Gerd Hoffmann
2022-10-13  6:52 ` [PULL 25/26] audio: fix in.voices test Gerd Hoffmann
2022-10-13  6:52 ` [PULL 26/26] audio: improve out.voices test Gerd Hoffmann
2022-10-13 20:29 ` [PULL 00/26] Kraxel 20221013 patches Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221013065224.1864145-23-kraxel@redhat.com \
    --to=kraxel@redhat.com \
    --cc=akihiko.odaki@daynix.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=david@redhat.com \
    --cc=eblake@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=kchamart@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu_oss@crudebyte.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).