Merge branch 'upstream'
Former-commit-id: c5ff18bf1d52484e64a134163715f166866aaaf1
This commit is contained in:
commit
6bae91a9dc
@ -1 +1 @@
|
||||
084195687ddc7dd4048f9b2c604bb03a37c620ed
|
||||
e01cc2bb9e61cf2533ccbd873e22f71e768156f9
|
@ -1 +1 @@
|
||||
2d00c0223998ca8b8589ca54b3d207eb5fcd9df8
|
||||
08b1b5c5cb881e8662aada9959378c6c4b2b4ecf
|
@ -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;
|
||||
|
@ -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";
|
||||
|
@ -1 +1 @@
|
||||
80e579fd992ef82df5e59d94a2d778fb731082fb
|
||||
9d771de1e37e20223e1515ceef3c51a607dd9676
|
@ -1 +1 @@
|
||||
fcdae2f4574bf8b726570d38ca6e929941e4bdf9
|
||||
24c5db848db083a50471562a8dccdfe73d378e89
|
@ -1 +1 @@
|
||||
4086e7ec5e22612eeceeec7c20769bd55770118d
|
||||
136b6eadba8d83e14a6350119be4f54efba244a0
|
Binary file not shown.
@ -1 +1 @@
|
||||
911466bd000987842c68074f2e079e0f9860cb30
|
||||
d5646d0db41586dd9927ee301c3aeb260b7e4502
|
@ -1 +1 @@
|
||||
9175f1d500927237ace77d22eaf368f9d710ee9f
|
||||
78685d6eac6a519b046f0f678549cd9176063501
|
@ -1 +1 @@
|
||||
04fc2bd9bf4f0e84c87b5f691c700725dc00896b
|
||||
cc9d470d93be56d6cf6f0f58a28a4b305435f279
|
@ -1 +1 @@
|
||||
5a70c345349d440397d8e7502578e33a813ffb8c
|
||||
98ff6dec797dcc545d47ca10ebfe5dc7d07a19c3
|
@ -1 +1 @@
|
||||
80e579fd992ef82df5e59d94a2d778fb731082fb
|
||||
9d771de1e37e20223e1515ceef3c51a607dd9676
|
@ -1 +1 @@
|
||||
fcdae2f4574bf8b726570d38ca6e929941e4bdf9
|
||||
24c5db848db083a50471562a8dccdfe73d378e89
|
@ -1 +1 @@
|
||||
4086e7ec5e22612eeceeec7c20769bd55770118d
|
||||
136b6eadba8d83e14a6350119be4f54efba244a0
|
Binary file not shown.
@ -1 +1 @@
|
||||
911466bd000987842c68074f2e079e0f9860cb30
|
||||
d5646d0db41586dd9927ee301c3aeb260b7e4502
|
@ -1 +1 @@
|
||||
9175f1d500927237ace77d22eaf368f9d710ee9f
|
||||
78685d6eac6a519b046f0f678549cd9176063501
|
@ -1 +1 @@
|
||||
04fc2bd9bf4f0e84c87b5f691c700725dc00896b
|
||||
cc9d470d93be56d6cf6f0f58a28a4b305435f279
|
@ -1 +1 @@
|
||||
5a70c345349d440397d8e7502578e33a813ffb8c
|
||||
98ff6dec797dcc545d47ca10ebfe5dc7d07a19c3
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user