Merge branch 'upstream'

Former-commit-id: c5ff18bf1d52484e64a134163715f166866aaaf1
This commit is contained in:
Xamarin Public Jenkins (auto-signing) 2019-07-12 09:26:53 +00:00
commit 6bae91a9dc
47 changed files with 77 additions and 42 deletions

View File

@ -1 +1 @@
084195687ddc7dd4048f9b2c604bb03a37c620ed
e01cc2bb9e61cf2533ccbd873e22f71e768156f9

View File

@ -1 +1 @@
2d00c0223998ca8b8589ca54b3d207eb5fcd9df8
08b1b5c5cb881e8662aada9959378c6c4b2b4ecf

View File

@ -1,14 +1,28 @@
diff --git a/gdk/quartz/GdkQuartzWindow.c b/gdk/quartz/GdkQuartzWindow.c
index e8e0de5c7..435c856be 100644
index e8e0de5c7..d0c6e84ec 100644
--- a/gdk/quartz/GdkQuartzWindow.c
+++ b/gdk/quartz/GdkQuartzWindow.c
@@ -259,6 +259,16 @@
@@ -24,6 +24,13 @@
@implementation GdkQuartzWindow
+-(void)dealloc
+{
+ // During deallocation, Cocoa resets the delegate to nil
+ // We need to track that so that we don't throw an error
+ _allowDelegateToBeSetToNil = YES;
+}
+
-(BOOL)windowShouldClose:(id)sender
{
GdkWindow *window = [[self contentView] gdkWindow];
@@ -259,6 +266,16 @@
return [super makeFirstResponder:responder];
}
+-(void)setDelegate:(id<NSWindowDelegate>)delegate
+{
+ if ([super delegate] == nil) {
+ if ([super delegate] == nil || (_allowDelegateToBeSetToNil && delegate == nil)) {
+ [super setDelegate:delegate];
+ } else {
+ // If we allow the window delegate to be replaced, everything breaks.
@ -19,3 +33,24 @@ index e8e0de5c7..435c856be 100644
-(id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)styleMask backing:(NSBackingStoreType)backingType defer:(BOOL)flag screen:(NSScreen *)screen
{
self = [super initWithContentRect:contentRect
@@ -271,6 +288,7 @@
[self setDelegate:self];
[self setReleasedWhenClosed:YES];
+ _allowDelegateToBeSetToNil = NO;
return self;
}
diff --git a/gdk/quartz/GdkQuartzWindow.h b/gdk/quartz/GdkQuartzWindow.h
index 928f9617e..23cde0037 100644
--- a/gdk/quartz/GdkQuartzWindow.h
+++ b/gdk/quartz/GdkQuartzWindow.h
@@ -34,6 +34,8 @@
NSPoint initialMoveLocation;
NSPoint initialResizeLocation;
NSRect initialResizeFrame;
+
+ BOOL _allowDelegateToBeSetToNil;
}
-(BOOL)isInMove;

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.0.0.311";
public const string MonoVersion = "6.0.0.313";
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 @@
80e579fd992ef82df5e59d94a2d778fb731082fb
9d771de1e37e20223e1515ceef3c51a607dd9676

View File

@ -1 +1 @@
fcdae2f4574bf8b726570d38ca6e929941e4bdf9
24c5db848db083a50471562a8dccdfe73d378e89

View File

@ -1 +1 @@
4086e7ec5e22612eeceeec7c20769bd55770118d
136b6eadba8d83e14a6350119be4f54efba244a0

View File

@ -1 +1 @@
911466bd000987842c68074f2e079e0f9860cb30
d5646d0db41586dd9927ee301c3aeb260b7e4502

View File

@ -1 +1 @@
9175f1d500927237ace77d22eaf368f9d710ee9f
78685d6eac6a519b046f0f678549cd9176063501

View File

@ -1 +1 @@
04fc2bd9bf4f0e84c87b5f691c700725dc00896b
cc9d470d93be56d6cf6f0f58a28a4b305435f279

View File

@ -1 +1 @@
5a70c345349d440397d8e7502578e33a813ffb8c
98ff6dec797dcc545d47ca10ebfe5dc7d07a19c3

View File

@ -1 +1 @@
80e579fd992ef82df5e59d94a2d778fb731082fb
9d771de1e37e20223e1515ceef3c51a607dd9676

View File

@ -1 +1 @@
fcdae2f4574bf8b726570d38ca6e929941e4bdf9
24c5db848db083a50471562a8dccdfe73d378e89

View File

@ -1 +1 @@
4086e7ec5e22612eeceeec7c20769bd55770118d
136b6eadba8d83e14a6350119be4f54efba244a0

View File

@ -1 +1 @@
911466bd000987842c68074f2e079e0f9860cb30
d5646d0db41586dd9927ee301c3aeb260b7e4502

View File

@ -1 +1 @@
9175f1d500927237ace77d22eaf368f9d710ee9f
78685d6eac6a519b046f0f678549cd9176063501

View File

@ -1 +1 @@
04fc2bd9bf4f0e84c87b5f691c700725dc00896b
cc9d470d93be56d6cf6f0f58a28a4b305435f279

View File

@ -1 +1 @@
5a70c345349d440397d8e7502578e33a813ffb8c
98ff6dec797dcc545d47ca10ebfe5dc7d07a19c3

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