Merge branch 'upstream' into main

Former-commit-id: b021d9330a184430fc10e71fff22263d6f1f0204
This commit is contained in:
Xamarin Public Jenkins (auto-signing) 2021-03-09 09:08:27 +00:00
commit 2103a2454e
54 changed files with 846 additions and 751 deletions

View File

@ -1 +1 @@
bfda63036311f6e9275bd72a5464233cfc8ce234
8d58f9948bf50362232dd161cf6753e6df585dd8

View File

@ -1 +1 @@
52d28421a1d3e6671d20959a4c1ddd7cb8cf3625
e1371c02a23d81cbe01a09e967af0aba8e1b29c5

File diff suppressed because it is too large Load Diff

View File

@ -10,11 +10,11 @@ generated by GNU Autoconf 2.69. Invocation command line was
## Platform. ##
## --------- ##
hostname = az-ubuntu-generalfa5c96
hostname = az-ubuntu-generalb8deb0
uname -m = x86_64
uname -r = 4.15.0-1106-azure
uname -r = 4.15.0-1108-azure
uname -s = Linux
uname -v = #118~16.04.1-Ubuntu SMP Tue Jan 19 16:13:06 UTC 2021
uname -v = #120~16.04.1-Ubuntu SMP Thu Feb 11 07:47:15 UTC 2021
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
@ -747,7 +747,7 @@ generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_COMMANDS =
$ ./config.status
on az-ubuntu-generalfa5c96
on az-ubuntu-generalb8deb0
config.status:1238: creating Makefile
config.status:1238: creating bdw-gc.pc

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
bc34ab0802d420d1c13eaf49efd6a18998a87d43
5dbd5cda435137255cde63e0317d63ae781d4eef

View File

@ -234,7 +234,8 @@ class GtkPackage (GitHubPackage):
'patches/gtk/Fix-1080409-StackOverflow-exception-opening-Gtk-host.patch',
# https://dev.azure.com/devdiv/DevDiv/_workitems/edit/1092021/
'patches/gtk/0078-Optimize-querying-symbolic-hotkeys.patch'
'patches/gtk/0078-Optimize-querying-symbolic-hotkeys.patch',
'patches/gtk/gdk-quartz-Remove-titlebar-handling-from-find_child.patch'
])
def prep(self):

View File

@ -4,7 +4,7 @@ class GtkSharp212ReleasePackage (Package):
Package.__init__(self, 'gtk-sharp',
sources=['git://github.com/mono/gtk-sharp.git'],
git_branch='gtk-sharp-2-12-branch',
revision='a915b2c6726b99b58dd5c2ff79c6e825660f4416',
revision='33fabaf9333f6cf26af1682cc67b4cfa99a0fc41',
override_properties={
'configure': './bootstrap-2.12 --prefix=%{package_prefix}',
}

View File

@ -0,0 +1,94 @@
From dc7a4906b15e3896bdac641730ac8e85dd90be24 Mon Sep 17 00:00:00 2001
From: Vsevolod Kukol <sevo@xamarin.com>
Date: Sun, 7 Mar 2021 21:07:30 +0100
Subject: [PATCH] gdk: quartz: Remove titlebar handling from
find_child_window_helper
Being run on Idle to handle tooltips this can crash if the
NSWindow has been released in between.
With https://github.com/GNOME/gtk/commit/f91b42983937c94a2875af3498fa2ea6078ec58d
this should not be necessary anymore and can be removed.
---
gdk/quartz/gdkevents-quartz.c | 23 +++++++++++++++++++++++
gdk/quartz/gdkwindow-quartz.c | 31 -------------------------------
2 files changed, 23 insertions(+), 31 deletions(-)
diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c
index 24d5094a4e..4e75aaf102 100644
--- a/gdk/quartz/gdkevents-quartz.c
+++ b/gdk/quartz/gdkevents-quartz.c
@@ -567,6 +567,29 @@ get_toplevel_from_ns_event (NSEvent *nsevent,
* here, not very nice.
*/
_gdk_quartz_events_break_all_grabs (get_time_from_ns_event (nsevent));
+
+ /* Check if the event occurred on the titlebar. If it did,
+ * explicitly return NULL to prevent going through the
+ * fallback path, which could match the window that is
+ * directly under the titlebar.
+ */
+ if (view_point.y < 0 &&
+ view_point.x >= view_frame.origin.x &&
+ view_point.x < view_frame.origin.x + view_frame.size.width)
+ {
+ NSView *superview = [view superview];
+ if (superview)
+ {
+ NSRect superview_frame = [superview frame];
+ int titlebar_height = superview_frame.size.height -
+ view_frame.size.height;
+
+ if (titlebar_height > 0 && view_point.y >= -titlebar_height)
+ {
+ return NULL;
+ }
+ }
+ }
}
else
{
diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c
index cd5cc26415..12ebc9cc26 100644
--- a/gdk/quartz/gdkwindow-quartz.c
+++ b/gdk/quartz/gdkwindow-quartz.c
@@ -757,37 +757,6 @@ find_child_window_helper (GdkWindow *window,
temp_x = x_offset + child_private->x;
temp_y = y_offset + child_private->y;
- /* Special-case the root window. We have to include the title
- * bar in the checks, otherwise the window below the title bar
- * will be found i.e. events punch through. (If we can find a
- * better way to deal with the events in gdkevents-quartz, this
- * might not be needed.)
- */
- if (window == _gdk_root)
- {
- NSRect frame = NSMakeRect (0, 0, 100, 100);
- NSRect content;
- NSUInteger mask;
- int titlebar_height;
-
- mask = [child_impl->toplevel styleMask];
-
- /* Get the title bar height. */
- content = [NSWindow contentRectForFrameRect:frame
- styleMask:mask];
- titlebar_height = frame.size.height - content.size.height;
-
- if (titlebar_height > 0 &&
- x >= temp_x && y >= temp_y - titlebar_height &&
- x < temp_x + child_private->width && y < temp_y)
- {
- /* The root means "unknown" i.e. a window not managed by
- * GDK.
- */
- return (GdkWindow *)_gdk_root;
- }
- }
-
if (x >= temp_x && y >= temp_y &&
x < temp_x + child_private->width && y < temp_y + child_private->height)
{
--
2.21.1 (Apple Git-122.3)

View File

@ -41,7 +41,7 @@ static partial class Consts
// Use these assembly version constants to make code more maintainable.
//
public const string MonoVersion = "6.12.0.124";
public const string MonoVersion = "6.12.0.125";
public const string MonoCompany = "Mono development team";
public const string MonoProduct = "Mono Common Language Infrastructure";
public const string MonoCopyright = "(c) Various Mono authors";

View File

@ -1 +1 @@
990f956f339337ea0eb5d09af191e0c44807f530
dc38504b06c8fef269448ec15504f4ac0d2b5f12

View File

@ -1 +1 @@
72099b72006f123247a452e88c110772116b6722
992d130aeaf8236905352bed659584a4d7c33110

View File

@ -1 +1 @@
5a2c908bc73d92c74a4bea8251fca76524da0a2d
6975b12aa49364202de80a54b0a39d0640eff978

View File

@ -1 +1 @@
1e77e16a69899c7a66c47f723e5f165d316606e2
d407443e0309494166db838318acda8514529892

View File

@ -1 +1 @@
169661cb5e04415a4493b61e74b2856a8a45742a
80161602ca6ba66f81612ba2de0f51775ed54ca5

View File

@ -1 +1 @@
b953430aae996639ae091eb95cc9a8c98ae8281a
e23947521345d0bf19a7d1bd784cbe0e011e0c79

View File

@ -1 +1 @@
d4f5840bb115e9b841ba795ff58473cf6206cd13
2f23a5c98ddf5283d54a026139dc1d78445c9972

View File

@ -1 +1 @@
b3b3cb3076515213958dd010c9420c29b4b0aa8d
90595f016e0a1864a93c30a6c3e8d78c07869a95

View File

@ -1 +1 @@
990f956f339337ea0eb5d09af191e0c44807f530
dc38504b06c8fef269448ec15504f4ac0d2b5f12

View File

@ -1 +1 @@
72099b72006f123247a452e88c110772116b6722
992d130aeaf8236905352bed659584a4d7c33110

Some files were not shown because too many files have changed in this diff Show More