[gtk/wip/chergert/fix-macos-window-check] macos: ensure GdkMacosWindow in surface discovery
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/chergert/fix-macos-window-check] macos: ensure GdkMacosWindow in surface discovery
- Date: Thu, 31 Dec 2020 18:48:05 +0000 (UTC)
commit d888402bf9eed48a5b0c8c2f5dc91b1edcd7897d
Author: Christian Hergert <chergert redhat com>
Date: Thu Dec 31 10:44:19 2020 -0800
macos: ensure GdkMacosWindow in surface discovery
We want to ignore windows that are not related to those controlled
by the GDK backend.
Fixes #3533
gdk/macos/gdkmacosdisplay-translate.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/gdk/macos/gdkmacosdisplay-translate.c b/gdk/macos/gdkmacosdisplay-translate.c
index 5f5eeffdcf..b638b87ab9 100644
--- a/gdk/macos/gdkmacosdisplay-translate.c
+++ b/gdk/macos/gdkmacosdisplay-translate.c
@@ -762,7 +762,7 @@ get_surface_from_ns_event (GdkMacosDisplay *self,
GdkSurface *surface = NULL;
NSWindow *nswindow = [nsevent window];
- if (nswindow)
+ if (GDK_IS_MACOS_WINDOW (nswindow))
{
GdkMacosBaseView *view;
NSPoint point, view_point;
@@ -974,11 +974,11 @@ find_surface_for_ns_event (GdkMacosDisplay *self,
g_assert (x != NULL);
g_assert (y != NULL);
- view = (GdkMacosBaseView *)[[nsevent window] contentView];
-
if (!(surface = get_surface_from_ns_event (self, nsevent, &point, x, y)))
return NULL;
+ view = (GdkMacosBaseView *)[GDK_MACOS_SURFACE (surface)->window contentView];
+
_gdk_macos_display_from_display_coords (self, point.x, point.y, &x_tmp, &y_tmp);
switch ((int)[nsevent type])
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]