[gtk/matthiasc/for-master: 15/18] surface: Be more lenient for autohide
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master: 15/18] surface: Be more lenient for autohide
- Date: Wed, 4 Nov 2020 20:01:12 +0000 (UTC)
commit 75f96b83de6ab547220b1ce2cbaf03087f365412
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Nov 3 15:26:47 2020 -0500
surface: Be more lenient for autohide
When an event happens on a non-grabbing popup that hangs off
a grabbing popup, don't trigger the autohide. This makes touch
text handles work inside the popover on page 3 of widget-factory.
gdk/gdksurface.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/gdk/gdksurface.c b/gdk/gdksurface.c
index f28c6ac4d1..00990ea40e 100644
--- a/gdk/gdksurface.c
+++ b/gdk/gdksurface.c
@@ -2695,7 +2695,10 @@ check_autohide (GdkEvent *event)
device = gdk_event_get_device (event);
if (gdk_device_grab_info (display, device, &grab_surface, NULL))
{
- if (grab_surface != gdk_event_get_surface (event) &&
+ GdkSurface *event_surface = gdk_event_get_surface (event);
+
+ if (grab_surface != event_surface &&
+ grab_surface != event_surface->parent &&
grab_surface->autohide)
{
hide_popup_chain (grab_surface);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]