From fda3d687539dcd0fdb95cc7824d6676ebd18eb02 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Wed, 4 Nov 2015 10:07:58 +1100 Subject: [PATCH] Check if window info == null in OSX event handler, make classicube.net login auto go to the servers screen. --- Launcher2/Gui/Screens/ClassiCubeScreen.cs | 6 ++++-- Launcher2/Gui/Screens/ClassiCubeServersScreen.cs | 2 +- OpenTK/Platform/MacOS/CarbonGLNative.cs | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Launcher2/Gui/Screens/ClassiCubeScreen.cs b/Launcher2/Gui/Screens/ClassiCubeScreen.cs index 0fe5d103d..73b3712d0 100644 --- a/Launcher2/Gui/Screens/ClassiCubeScreen.cs +++ b/Launcher2/Gui/Screens/ClassiCubeScreen.cs @@ -36,12 +36,14 @@ namespace Launcher2 { if( !session.Working ) { if( session.Exception != null ) { DisplayWebException( session.Exception, session.Status ); + } else if( HasServers ) { + game.SetScreen( new ClassiCubeServersScreen( game ) ); + return; } signingIn = false; game.MakeBackground(); Resize(); - } - + } } void LoadSavedInfo( IDrawer2D drawer ) { diff --git a/Launcher2/Gui/Screens/ClassiCubeServersScreen.cs b/Launcher2/Gui/Screens/ClassiCubeServersScreen.cs index 16b36777d..617ead7fb 100644 --- a/Launcher2/Gui/Screens/ClassiCubeServersScreen.cs +++ b/Launcher2/Gui/Screens/ClassiCubeServersScreen.cs @@ -79,7 +79,7 @@ namespace Launcher2 { MakeButtonAt( "Connect", 100, 30, titleFont, Anchor.LeftOrTop, 180, 5, ConnectToServer ); MakeButtonAt( "Back", 70, 30, titleFont, Anchor.LeftOrTop, - 195, 50, (x, y) => game.SetScreen( new MainScreen( game ) ) ); + 195, 50, (x, y) => game.SetScreen( new ClassiCubeScreen( game ) ) ); MakeTableWidget(); } diff --git a/OpenTK/Platform/MacOS/CarbonGLNative.cs b/OpenTK/Platform/MacOS/CarbonGLNative.cs index 0b64ea2e6..aff78e5d6 100644 --- a/OpenTK/Platform/MacOS/CarbonGLNative.cs +++ b/OpenTK/Platform/MacOS/CarbonGLNative.cs @@ -203,7 +203,7 @@ namespace OpenTK.Platform.MacOS { protected OSStatus EventHandler( IntPtr inCaller, IntPtr inEvent, IntPtr userData ) { // bail out if the window passed in is not actually our window. - if( userData != window.WindowRef) + if( window == null || userData != window.WindowRef ) return OSStatus.EventNotHandled; EventInfo evt = new EventInfo(inEvent);