Backport to work on Leopard as well

This commit is contained in:
rdb 2012-11-04 13:56:09 +00:00
parent 5c644b7543
commit 4017e1897d
3 changed files with 15 additions and 3 deletions

View File

@ -20,6 +20,11 @@
#import <AppKit/AppKit.h> #import <AppKit/AppKit.h>
#import <OpenGL/CGLRenderers.h> #import <OpenGL/CGLRenderers.h>
#ifndef kCGLRendererIDMatchingMask
// For older versions of Mac OS X
#define kCGLRendererIDMatchingMask 0x00FE7F00
#endif
TypeHandle CocoaGraphicsStateGuardian::_type_handle; TypeHandle CocoaGraphicsStateGuardian::_type_handle;
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////

View File

@ -748,7 +748,9 @@ set_properties_now(WindowProperties &properties) {
if (_window != nil) { if (_window != nil) {
// For some reason, setting the style mask // For some reason, setting the style mask
// makes it give up its first-responder status. // makes it give up its first-responder status.
[_window setStyleMask:NSBorderlessWindowMask]; if ([_window respondsToSelector:@selector(setStyleMask:)]) {
[_window setStyleMask:NSBorderlessWindowMask];
}
[_window makeFirstResponder:_view]; [_window makeFirstResponder:_view];
[_window setLevel:NSMainMenuWindowLevel+1]; [_window setLevel:NSMainMenuWindowLevel+1];
[_window makeKeyAndOrderFront:nil]; [_window makeKeyAndOrderFront:nil];
@ -889,7 +891,8 @@ set_properties_now(WindowProperties &properties) {
// However, if we're specifying the 'undecorated' property also, // However, if we're specifying the 'undecorated' property also,
// then we'll be setting the style mask about 25 LOC further down, // then we'll be setting the style mask about 25 LOC further down,
// so we won't need to bother setting it here. // so we won't need to bother setting it here.
if (!properties.has_undecorated() && !_properties.get_undecorated()) { if (!properties.has_undecorated() && !_properties.get_undecorated() &&
[_window respondsToSelector:@selector(setStyleMask:)]) {
if (properties.get_fixed_size()) { if (properties.get_fixed_size()) {
[_window setStyleMask:NSTitledWindowMask | NSClosableWindowMask | [_window setStyleMask:NSTitledWindowMask | NSClosableWindowMask |
NSMiniaturizableWindowMask ]; NSMiniaturizableWindowMask ];
@ -904,7 +907,7 @@ set_properties_now(WindowProperties &properties) {
properties.clear_fixed_size(); properties.clear_fixed_size();
} }
if (properties.has_undecorated() && _window != nil) { if (properties.has_undecorated() && _window != nil && [_window respondsToSelector:@selector(setStyleMask:)]) {
_properties.set_undecorated(properties.get_undecorated()); _properties.set_undecorated(properties.get_undecorated());
if (!_properties.get_fullscreen()) { if (!_properties.get_fullscreen()) {

View File

@ -16,7 +16,11 @@
class CocoaGraphicsWindow; class CocoaGraphicsWindow;
#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
@interface CocoaPandaWindowDelegate : NSObject<NSWindowDelegate> { @interface CocoaPandaWindowDelegate : NSObject<NSWindowDelegate> {
#else
@interface CocoaPandaWindowDelegate : NSObject {
#endif
@private @private
CocoaGraphicsWindow *_graphicsWindow; CocoaGraphicsWindow *_graphicsWindow;
} }