[gtk/wip/chergert/quartz4u: 65/65] macos: always discover target surface
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/chergert/quartz4u: 65/65] macos: always discover target surface
- Date: Wed, 13 May 2020 23:59:13 +0000 (UTC)
commit a140cd4b4973b25c12ce298d15927796f383fdac
Author: Christian Hergert <chergert redhat com>
Date: Wed May 13 16:55:50 2020 -0700
macos: always discover target surface
we can't seem to rely on [nsevent window] to be the window we care about.
instead, just discover it based on our tracking of windows.
gdk/macos/gdkmacosdisplay-translate.c | 21 ++++++---------------
1 file changed, 6 insertions(+), 15 deletions(-)
---
diff --git a/gdk/macos/gdkmacosdisplay-translate.c b/gdk/macos/gdkmacosdisplay-translate.c
index c8aed644b1..658b959ef6 100644
--- a/gdk/macos/gdkmacosdisplay-translate.c
+++ b/gdk/macos/gdkmacosdisplay-translate.c
@@ -687,6 +687,8 @@ _gdk_macos_display_translate (GdkMacosDisplay *self,
NSWindow *nswindow;
GdkEvent *ret = NULL;
NSPoint point;
+ int x_tmp;
+ int y_tmp;
g_return_val_if_fail (GDK_IS_MACOS_DISPLAY (self), NULL);
g_return_val_if_fail (nsevent != NULL, NULL);
@@ -709,22 +711,11 @@ _gdk_macos_display_translate (GdkMacosDisplay *self,
return NULL;
}
- /* Make sure the event has a window */
- if (!(nswindow = [nsevent window]))
- {
- int x_tmp;
- int y_tmp;
-
- if (!(nswindow = _gdk_macos_display_find_native_under_pointer (self, &x_tmp, &y_tmp)))
- return NULL;
+ if (!(nswindow = _gdk_macos_display_find_native_under_pointer (self, &x_tmp, &y_tmp)))
+ return NULL;
- point.x = x_tmp;
- point.y = y_tmp;
- }
- else
- {
- point = [[nswindow contentView] convertPoint:[nsevent locationInWindow] fromView:nil];
- }
+ point.x = x_tmp;
+ point.y = y_tmp;
/* Ignore unless it is for a GdkMacosWindow */
if (!GDK_IS_MACOS_WINDOW (nswindow))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]