diff options
author | Lluis Sanchez <llsan@microsoft.com> | 2019-03-18 21:30:42 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-18 21:30:42 +0300 |
commit | ebd383635f1b721b007b6e4ad9a6954604184edd (patch) | |
tree | 77cc810c9f732e8557bc060ccedf8c293974c05a | |
parent | 05bf10e45e37f91356a511596b2d8ad9a1b78c7c (diff) | |
parent | 0871d1b93086c8f6ded57a6ab0c20fb001171c9c (diff) |
Merge pull request #92 from sevoku/fix-821841-ignore-hidden-embedded-nsviews
Fix NSView embedding events - skip hidden subviews
-rw-r--r-- | packages/gtk+.py | 21 | ||||
-rw-r--r-- | packages/patches/gtk/nsview-embedding-skip-hidden-subviews.patch | 26 |
2 files changed, 38 insertions, 9 deletions
diff --git a/packages/gtk+.py b/packages/gtk+.py index be37e28..56e2836 100644 --- a/packages/gtk+.py +++ b/packages/gtk+.py @@ -212,15 +212,18 @@ class GtkPackage (GitHubPackage): #'patches/gtk/gtk-fix-find_nsview_at_pos-recursive.patch', - # https://devdiv.visualstudio.com/DevDiv/_workitems/edit/569768 - 'patches/gtk/gtk-imquartz-commit-on-focus-out.patch', - - # https://devdiv.visualstudio.com/DevDiv/_workitems/edit/737323 - 'patches/gtk/gtk-nsview-subview-focus-fixes.patch', - 'patches/gtk/gtk-nsview-focus-tabbing.patch', - 'patches/gtk/popup-combo-box-with-arrows.patch', - 'patches/gtk/0001-prevent-gdk-quartz-window-delegate-replacement.patch', - 'patches/gtk/0077-fix-nsview-embedding-mouse-move-event-when-popup-window-appears.patch' + # https://devdiv.visualstudio.com/DevDiv/_workitems/edit/569768 + 'patches/gtk/gtk-imquartz-commit-on-focus-out.patch', + + # https://devdiv.visualstudio.com/DevDiv/_workitems/edit/737323 + 'patches/gtk/gtk-nsview-subview-focus-fixes.patch', + 'patches/gtk/gtk-nsview-focus-tabbing.patch', + 'patches/gtk/popup-combo-box-with-arrows.patch', + 'patches/gtk/0001-prevent-gdk-quartz-window-delegate-replacement.patch', + 'patches/gtk/0077-fix-nsview-embedding-mouse-move-event-when-popup-window-appears.patch', + + # https://devdiv.visualstudio.com/DevDiv/_workitems/edit/821841 + 'patches/gtk/nsview-embedding-skip-hidden-subviews.patch', ]) def prep(self): diff --git a/packages/patches/gtk/nsview-embedding-skip-hidden-subviews.patch b/packages/patches/gtk/nsview-embedding-skip-hidden-subviews.patch new file mode 100644 index 0000000..3ed3b8e --- /dev/null +++ b/packages/patches/gtk/nsview-embedding-skip-hidden-subviews.patch @@ -0,0 +1,26 @@ +From cb62d4a99f228f51ee420f289f741dbb4ecea57b Mon Sep 17 00:00:00 2001 +From: Vsevolod Kukol <sevoku@microsoft.com> +Date: Mon, 18 Mar 2019 16:15:54 +0100 +Subject: [PATCH] Skip hidden subviews when searching for a child event target + +--- + gdk/quartz/gdkevents-quartz.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c +index b5016e1de9..8101e366c8 100644 +--- a/gdk/quartz/gdkevents-quartz.c ++++ b/gdk/quartz/gdkevents-quartz.c +@@ -724,7 +724,8 @@ find_nsview_at_pos (GdkWindowImplQuartz *impl, gint x, gint y) + if (sv == impl->layer_view) + continue; + +- if (r.origin.x <= x && r.origin.x + r.size.width >= x && ++ if (![sv isHidden] && ++ r.origin.x <= x && r.origin.x + r.size.width >= x && + r.origin.y <= y && r.origin.y + r.size.height >= y) + { + NSView* child = find_nsview_at_pos (impl, x - r.origin.x, y - r.origin.y); +-- +2.17.1 (Apple Git-112) + |