Imported Upstream version 6.0.0.313
Former-commit-id: 2f44e662b05220cea3620904af57c61b4be97a61
This commit is contained in:
parent
723be3871f
commit
c84f4746af
@ -1 +1 @@
|
|||||||
084195687ddc7dd4048f9b2c604bb03a37c620ed
|
e01cc2bb9e61cf2533ccbd873e22f71e768156f9
|
@ -1 +1 @@
|
|||||||
2d00c0223998ca8b8589ca54b3d207eb5fcd9df8
|
08b1b5c5cb881e8662aada9959378c6c4b2b4ecf
|
@ -1,14 +1,28 @@
|
|||||||
diff --git a/gdk/quartz/GdkQuartzWindow.c b/gdk/quartz/GdkQuartzWindow.c
|
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
|
--- a/gdk/quartz/GdkQuartzWindow.c
|
||||||
+++ b/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];
|
return [super makeFirstResponder:responder];
|
||||||
}
|
}
|
||||||
|
|
||||||
+-(void)setDelegate:(id<NSWindowDelegate>)delegate
|
+-(void)setDelegate:(id<NSWindowDelegate>)delegate
|
||||||
+{
|
+{
|
||||||
+ if ([super delegate] == nil) {
|
+ if ([super delegate] == nil || (_allowDelegateToBeSetToNil && delegate == nil)) {
|
||||||
+ [super setDelegate:delegate];
|
+ [super setDelegate:delegate];
|
||||||
+ } else {
|
+ } else {
|
||||||
+ // If we allow the window delegate to be replaced, everything breaks.
|
+ // 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
|
-(id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)styleMask backing:(NSBackingStoreType)backingType defer:(BOOL)flag screen:(NSScreen *)screen
|
||||||
{
|
{
|
||||||
self = [super initWithContentRect:contentRect
|
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.
|
// 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 MonoCompany = "Mono development team";
|
||||||
public const string MonoProduct = "Mono Common Language Infrastructure";
|
public const string MonoProduct = "Mono Common Language Infrastructure";
|
||||||
public const string MonoCopyright = "(c) Various Mono authors";
|
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