changeset 30922:7e3b047c51e7

Refactor OS X foreground process setting into a separate function.
author diego
date Fri, 26 Mar 2010 15:02:14 +0000
parents 83faa3af5f60
children 0be6ed163321
files libvo/osx_common.c libvo/osx_common.h libvo/vo_corevideo.m libvo/vo_quartz.c
diffstat 4 files changed, 26 insertions(+), 38 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/osx_common.c	Fri Mar 26 12:12:25 2010 +0000
+++ b/libvo/osx_common.c	Fri Mar 26 15:02:14 2010 +0000
@@ -19,6 +19,7 @@
 
 // only to get keycode definitions from HIToolbox/Events.h
 #include <Carbon/Carbon.h>
+#include "config.h"
 #include "osx_common.h"
 #include "video_out.h"
 #include "osdep/keycodes.h"
@@ -140,3 +141,25 @@
         old_movie_aspect = config_aspect;
     our_aspect_change = 0;
 }
+
+/** This chunk of code is heavily based off SDL_macosx.m from SDL.
+ *  The CPSEnableForegroundOperation that was here before is private
+ *  and should not be used.
+ *  Replaced by a call to the 10.3+ TransformProcessType.
+ */
+void osx_foreground_hack(void)
+{
+#if !defined (CONFIG_MACOSX_FINDER) || !defined (CONFIG_SDL)
+    ProcessSerialNumber myProc, frProc;
+    Boolean sameProc;
+
+    if (GetFrontProcess(&frProc)   == noErr &&
+        GetCurrentProcess(&myProc) == noErr) {
+        if (SameProcess(&frProc, &myProc, &sameProc) == noErr && !sameProc) {
+            TransformProcessType(&myProc,
+                                 kProcessTransformToForegroundApplication);
+        }
+        SetFrontProcess(&myProc);
+    }
+#endif
+}
--- a/libvo/osx_common.h	Fri Mar 26 12:12:25 2010 +0000
+++ b/libvo/osx_common.h	Fri Mar 26 15:02:14 2010 +0000
@@ -22,5 +22,6 @@
 int convert_key(unsigned key, unsigned charcode);
 void change_movie_aspect(float new_aspect);
 void config_movie_aspect(float config_aspect);
+void osx_foreground_hack(void);
 
 #endif /* MPLAYER_OSX_COMMON_H */
--- a/libvo/vo_corevideo.m	Fri Mar 26 12:12:25 2010 +0000
+++ b/libvo/vo_corevideo.m	Fri Mar 26 15:02:14 2010 +0000
@@ -386,23 +386,7 @@
 		NSApp = [NSApplication sharedApplication];
 		isLeopardOrLater = floor(NSAppKitVersionNumber) > 824;
 
-		#if !defined (CONFIG_MACOSX_FINDER) || !defined (CONFIG_SDL)
-		//this chunk of code is heavily based off SDL_macosx.m from SDL
-		ProcessSerialNumber myProc, frProc;
-		Boolean sameProc;
-
-		if (GetFrontProcess(&frProc) == noErr)
-		{
-			if (GetCurrentProcess(&myProc) == noErr)
-			{
-				if (SameProcess(&frProc, &myProc, &sameProc) == noErr && !sameProc)
-				{
-					TransformProcessType(&myProc, kProcessTransformToForegroundApplication);
-				}
-				SetFrontProcess(&myProc);
-			}
-		}
-		#endif
+		osx_foreground_hack();
 
 		if(!mpGLView)
 		{
--- a/libvo/vo_quartz.c	Fri Mar 26 12:12:25 2010 +0000
+++ b/libvo/vo_quartz.c	Fri Mar 26 15:02:14 2010 +0000
@@ -1088,27 +1088,7 @@
         }
     }
 
-#if !defined (CONFIG_MACOSX_FINDER) || !defined (CONFIG_SDL)
-    // this chunk of code is heavily based off SDL_macosx.m from SDL
-    // the CPSEnableForegroundOperation that was here before is private and shouldn't be used
-    // replaced by a call to the 10.3+ TransformProcessType
-    {
-        ProcessSerialNumber myProc, frProc;
-        Boolean sameProc;
-
-        if (GetFrontProcess(&frProc) == noErr)
-        {
-            if (GetCurrentProcess(&myProc) == noErr)
-            {
-                if (SameProcess(&frProc, &myProc, &sameProc) == noErr && !sameProc)
-                {
-                    TransformProcessType(&myProc, kProcessTransformToForegroundApplication);
-                }
-                SetFrontProcess(&myProc);
-            }
-        }
-    }
-#endif
+    osx_foreground_hack();
 
     return 0;
 }