diff --git a/patches/gdk-foreign-view-mouse.patch b/patches/gdk-foreign-view-mouse.patch deleted file mode 100644 index 0a59a38830..0000000000 --- a/patches/gdk-foreign-view-mouse.patch +++ /dev/null @@ -1,106 +0,0 @@ ---- /tmp/gtk+-2.24.23/gdk/quartz/gdkevents-quartz.c 2013-10-16 11:31:40.000000000 -0400 -+++ gdkevents-quartz.c 2016-11-18 06:53:12.000000000 -0500 -@@ -43,6 +43,9 @@ - GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN && \ - GDK_WINDOW_TYPE (window) != GDK_WINDOW_OFFSCREEN) - -+/* This is the NSView not owned by GDK where a mouse down event occurs */ -+static NSView *foreign_mouse_down_view; -+ - /* This is the window corresponding to the key window */ - static GdkWindow *current_keyboard_window; - -@@ -705,14 +708,35 @@ - NSPoint screen_point; - NSEventType event_type; - -+ event_type = [nsevent type]; -+ -+ if (foreign_mouse_down_view) { -+ switch (event_type) { -+ case NSLeftMouseUp: -+ case NSRightMouseUp: -+ case NSOtherMouseUp: -+ /* mouse up happened, foreign view needs to handle it -+ but we will also assume that it does (e.g. ends -+ a drag and whatever goes with it) and so we reset -+ foreign_mouse_down_view. -+ */ -+ foreign_mouse_down_view = 0; -+ return NULL; -+ -+ default: -+ /* foreign view needs to handle this */ -+ return NULL; -+ } -+ } -+ - view = (GdkQuartzView *)[[nsevent window] contentView]; - - toplevel = get_toplevel_from_ns_event (nsevent, &screen_point, x, y); -- if (!toplevel) -- return NULL; -+ if (!toplevel) -+ return NULL; -+ - _gdk_quartz_window_nspoint_to_gdk_xy (screen_point, x_root, y_root); - -- event_type = [nsevent type]; - - switch (event_type) - { -@@ -749,10 +773,10 @@ - * event mask should not be checked. - */ - if (!grab->implicit -- && (grab->event_mask & get_event_mask_from_ns_event (nsevent)) == 0) -- return NULL; -+ && (grab->event_mask & get_event_mask_from_ns_event (nsevent)) == 0) -+ return NULL; - -- if (grab->owner_events) -+ if (grab->owner_events) - { - /* For owner events, we need to use the toplevel under the - * pointer, not the window from the NSEvent, since that is -@@ -823,13 +847,25 @@ - { - unsigned int subviews = [[toplevel_impl->view subviews] count]; - unsigned int si; -- -+ - for (si = 0; si < subviews; ++si) { - NSView* sv = [[toplevel_impl->view subviews] objectAtIndex:si]; - NSRect r = [sv frame]; - if (r.origin.x <= *x && r.origin.x + r.size.width >= *x && - r.origin.y <= *y && r.origin.y + r.size.height >= *y) { - /* event is within subview, forward back to Cocoa */ -+ -+ switch (event_type) -+ { -+ case NSLeftMouseDown: -+ case NSRightMouseDown: -+ case NSOtherMouseDown: -+ foreign_mouse_down_view = sv; -+ break; -+ default: -+ break; -+ } -+ - return NULL; - } - } -@@ -838,12 +874,11 @@ - *x = x_tmp; - *y = y_tmp; - } -- - return toplevel; - } - } - break; -- -+ - case NSMouseEntered: - case NSMouseExited: - /* Only handle our own entered/exited events, not the ones for the