[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20183] trunk/blender/intern/ghost/intern: BGE #18691: Blenderplayer fullscreen messes up desktop on OS X Leopard.

Benoit Bolsee benoit.bolsee at online.be
Wed May 13 08:53:21 CEST 2009


Revision: 20183
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20183
Author:   ben2610
Date:     2009-05-13 08:53:21 +0200 (Wed, 13 May 2009)

Log Message:
-----------
BGE #18691: Blenderplayer fullscreen messes up desktop on OS X Leopard. Applied patch #18705 by sbn. I cannot compile osx but the patch seems perfectly alright to me. Can OSX users confirm that it compiles well on the various OSX version?

Modified Paths:
--------------
    trunk/blender/intern/ghost/intern/GHOST_SystemCarbon.cpp
    trunk/blender/intern/ghost/intern/GHOST_SystemCarbon.h

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemCarbon.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemCarbon.cpp	2009-05-13 06:42:15 UTC (rev 20182)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemCarbon.cpp	2009-05-13 06:53:21 UTC (rev 20183)
@@ -34,7 +34,6 @@
  * @date	May 7, 2001
  */
 
-
 #include <Carbon/Carbon.h>
 #include <ApplicationServices/ApplicationServices.h>
 #include "GHOST_SystemCarbon.h"
@@ -430,6 +429,29 @@
     return window;
 }
 
+GHOST_TSuccess GHOST_SystemCarbon::beginFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow** window, const bool stereoVisual)
+{	
+	GHOST_TSuccess success = GHOST_kFailure;
+
+	// need yo make this Carbon all on 10.5 for fullscreen to work correctly
+	CGCaptureAllDisplays();
+	
+	success = GHOST_System::beginFullScreen( setting, window, stereoVisual);
+	
+	if( success != GHOST_kSuccess ) {
+			// fullscreen failed for other reasons, release
+			CGReleaseAllDisplays();	
+	}
+
+	return success;
+}
+
+GHOST_TSuccess GHOST_SystemCarbon::endFullScreen(void)
+{	
+	CGReleaseAllDisplays();
+	return GHOST_System::endFullScreen();
+}
+
 /* this is an old style low level event queue.
   As we want to handle our own timers, this is ok.
   the full screen hack should be removed */

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemCarbon.h
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemCarbon.h	2009-05-13 06:42:15 UTC (rev 20182)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemCarbon.h	2009-05-13 06:53:21 UTC (rev 20183)
@@ -118,6 +118,14 @@
 		const GHOST_TEmbedderWindowID parentWindow = 0 
 	);
 	
+	virtual GHOST_TSuccess beginFullScreen(
+		const GHOST_DisplaySetting& setting, 
+		GHOST_IWindow** window,
+		const bool stereoVisual
+	);
+	
+	virtual GHOST_TSuccess endFullScreen( void );
+	
 	/***************************************************************************************
 	 ** Event management functionality
 	 ***************************************************************************************/





More information about the Bf-blender-cvs mailing list