Date: Mon, 16 Feb 2004 19:21:51 +0100
From: Max Horn
Subject: Re: Fix for OSX bug
The problem is that our actual client area is realized as a
subview of the "content view" of the window. That's normal so far. The
odd part is that, while our subview starts out filling it parent 100%,
upon resizes it gets changed to something smaller....
Anyway, here is a revised patch which simply enforces the size of
window_view by calling setFrameSize.
--- a/src/video/quartz/SDL_QuartzVideo.m Mon Feb 16 04:37:56 2004 +0000
+++ b/src/video/quartz/SDL_QuartzVideo.m Mon Feb 16 21:06:10 2004 +0000
@@ -759,6 +759,7 @@
if (!isCustom) {
[ qz_window setContentSize:contentRect.size ];
current->flags |= (SDL_NOFRAME|SDL_RESIZABLE) & mode_flags;
+ [ window_view setFrameSize:contentRect.size ];
}
}
@@ -770,7 +771,7 @@
}
window_view = [ [ NSView alloc ] initWithFrame:contentRect ];
- [ window_view setAutoresizingMask: NSViewMinYMargin ];
+ [ window_view setAutoresizingMask: NSViewWidthSizable | NSViewHeightSizable ];
[ [ qz_window contentView ] addSubview:window_view ];
[ gl_context setView: window_view ];
[ window_view release ];
@@ -785,7 +786,7 @@
if (window_view == nil) {
window_view = [ [ NSQuickDrawView alloc ] initWithFrame:contentRect ];
- [ window_view setAutoresizingMask: NSViewMinYMargin ];
+ [ window_view setAutoresizingMask: NSViewWidthSizable | NSViewHeightSizable ];
[ [ qz_window contentView ] addSubview:window_view ];
[ window_view release ];
[ qz_window makeKeyAndOrderFront:nil ];