From 40fd859590581234f6a25a2baab14eca7c39c871 Mon Sep 17 00:00:00 2001
From: ceylo <ceylo@4e206d99-4929-0410-ac5d-dfc041789085>
Date: Sun, 17 May 2009 12:10:16 +0000
Subject: [PATCH] Fixed crash with Cocoa window import.

git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1091 4e206d99-4929-0410-ac5d-dfc041789085
---
 src/SFML/Window/Cocoa/GLKit.h  |   7 --
 src/SFML/Window/Cocoa/GLKit.mm | 176 +--------------------------------
 2 files changed, 1 insertion(+), 182 deletions(-)

diff --git a/src/SFML/Window/Cocoa/GLKit.h b/src/SFML/Window/Cocoa/GLKit.h
index aa2125c4..ac122525 100644
--- a/src/SFML/Window/Cocoa/GLKit.h
+++ b/src/SFML/Window/Cocoa/GLKit.h
@@ -155,13 +155,6 @@
 			   title:(NSString *)title
 			delegate:(sf::priv::WindowImplCocoa *)delegate;
 
-
-////////////////////////////////////////////////////////////
-/// Finish the window setup (without knowing whether it's a imported
-/// window)
-////////////////////////////////////////////////////////////
-/* - (void)setupGLViewAndWindow; */
-
 ////////////////////////////////////////////////////////////
 /// Return a reference to the internal Cocoa window
 ////////////////////////////////////////////////////////////
diff --git a/src/SFML/Window/Cocoa/GLKit.mm b/src/SFML/Window/Cocoa/GLKit.mm
index 9d266a9d..a8d3dbf6 100644
--- a/src/SFML/Window/Cocoa/GLKit.mm
+++ b/src/SFML/Window/Cocoa/GLKit.mm
@@ -445,107 +445,6 @@ static GLContext *sharedCtx = nil;
 				 title:(NSString *)title
 			  delegate:(sf::priv::WindowImplCocoa *)delegate
 {
-	/*
-	assert(title != nil);
-	assert(delegate != NULL);
-	
-	self = [super init];
-	
-	if (self)
-	{
-		NSRect frame = NSMakeRect (0.0f, 0.0f, (float) mode.Width, (float) mode.Height);
-		unsigned int mask = 0;
-		
-		// We grab options from WindowStyle and add them to our window mask
-		if (style & sf::Style::None || style & sf::Style::Fullscreen) {
-			mask |= NSBorderlessWindowMask;
-			
-			if (style & sf::Style::Fullscreen) {
-				myIsFullscreen = true;
-				
-				// Check display mode and put new values in 'mode' if needed
-				boolean_t exact = true;
-				
-				CFDictionaryRef properties = CGDisplayBestModeForParameters(kCGDirectMainDisplay, mode.BitsPerPixel,
-																			mode.Width, mode.Height, &exact);
-				
-				if (!properties) {
-					std::cerr << "Unable to get a display mode with the given parameters" << std::endl;
-					[self autorelease];
-					return nil;
-				}
-				
-				if (exact == false) {
-					CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayWidth),
-									 kCFNumberIntType, &mode.Width);
-					
-					CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayHeight),
-									 kCFNumberIntType, &mode.Height);
-					
-					CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayBitsPerPixel),
-									 kCFNumberIntType, &mode.BitsPerPixel);
-					
-				}
-			}
-			
-		} else {
-			if (style & sf::Style::Titlebar) {
-				mask |= NSTitledWindowMask;
-				mask |= NSMiniaturizableWindowMask;
-			}
-			
-			if (style & sf::Style::Resize) {
-				mask |= NSTitledWindowMask;
-				mask |= NSMiniaturizableWindowMask;
-				mask |= NSResizableWindowMask;
-			}
-			
-			if (style & sf::Style::Close) {
-				mask |= NSTitledWindowMask;
-				mask |= NSClosableWindowMask;
-				mask |= NSMiniaturizableWindowMask;
-			}
-		}
-		
-		// Now we make the window with the values we got
-		// Note: defer flag set to NO to be able to use OpenGL in our window
-		myWindow = [[GLWindow alloc] initWithContentRect:frame
-											   styleMask:mask
-												 backing:NSBackingStoreBuffered
-												   defer:NO];
-		
-		if (myWindow) {
-			// We set title and window position
-			[myWindow setTitle:title];
-			[myWindow center];
-			
-			// Make the OpenGL view
-			myView = [[GLView alloc] initWithFrame:[[myWindow contentView] frame]
-											  mode:mode
-										  settings:params
-										  delegate:delegate];
-			if (myView)	{
-				// Finish setting up the view and window
-				[self setupGLViewAndWindow];
-			} else {
-				std::cerr << "Unable to create the OpenGL view" << std::endl;
-				[self autorelease];
-				return nil;
-			}
-			
-			if (myIsFullscreen) {
-				myFullscreenMode = mode;
-				
-				// Using this because full screen window was not always
-				// in front of the other application windows when unhiding app
-				[myWindow setLevel:NSFloatingWindowLevel];
-			}
-		}
-	}
-	
-	return self;
-	*/
-	
 	return [self initWithWindow:nil
 					   settings:params
 					  videoMode:mode
@@ -565,43 +464,8 @@ static GLContext *sharedCtx = nil;
 			settings:(sf::WindowSettings&)params
 			delegate:(sf::priv::WindowImplCocoa *)delegate
 {
-	/*
-	assert(window != NULL);
-	assert(delegate != NULL);
-	
-	self = [super init];
-	
-	if (self)
-	{
-		myWindow = (GLWindow *)[window retain];
-		
-		sf::VideoMode mode([[myWindow contentView] frame].size.width,
-						   [[myWindow contentView] frame].size.height);
-		
-		// Make the OpenGL view
-		myView = [[GLView alloc] initWithFrame:[[myWindow contentView] frame]
-										  mode:mode
-									  settings:params
-									  delegate:delegate];
-		
-		if (myView)
-		{
-			// Finish setting up the view and window
-			[self setupGLViewAndWindow];
-		}
-		else
-		{
-			std::cerr << "Unable to create the OpenGL view" << std::endl;
-			[self autorelease];
-			return nil;
-		}
-	}
-	
-	return self;
-	*/
-	
 	sf::VideoMode mode([[myWindow contentView] frame].size.width, [[myWindow contentView] frame].size.height);
-	return [self initWithWindow:[window autorelease]
+	return [self initWithWindow:window
 					   settings:params
 					  videoMode:mode
 						  style:0
@@ -768,44 +632,6 @@ static GLContext *sharedCtx = nil;
 	return self;
 }
 
-////////////////////////////////////////////////////////////
-/// Finish the window setup (without knowing whether it's a imported
-/// window)
-////////////////////////////////////////////////////////////
-/* - (void)setupGLViewAndWindow
-{
-	NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
-	
-	// We want to know when our window got the focus
-	[nc addObserver:myView
-		   selector:@selector(windowDidBecomeMain:)
-			   name:NSWindowDidBecomeMainNotification
-			 object:myWindow];
-	
-	// We want to know when our window lost the focus
-	[nc addObserver:myView
-		   selector:@selector(windowDidResignMain:)
-			   name:NSWindowDidResignMainNotification
-			 object:myWindow];
-	
-	// We want to know when the user closes the window
-	[nc addObserver:myView
-		   selector:@selector(windowWillClose:)
-			   name:NSWindowWillCloseNotification
-			 object:myWindow];
-	
-	// I want to re-center the window if it's a full screen one and moved by Spaces
-	[nc addObserver:myView
-		   selector:@selector(windowDidMove:)
-			   name:NSWindowDidMoveNotification
-			 object:myWindow];
-	
-	// Needed not to make application crash when releasing the window in our destructor
-	// (I prefer to take control of everything :P)
-	[myWindow setReleasedWhenClosed:NO];
-	[myWindow setAcceptsMouseMovedEvents:YES];
-} */
-
 
 ////////////////////////////////////////////////////////////
 /// Clean the window wrapper