mirror of
https://github.com/mpv-player/mpv
synced 2025-01-13 00:06:25 +01:00
Refactor OS X foreground process setting into a separate function.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30964 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
85640449d2
commit
3e7a2bd8c3
@ -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 @@ void config_movie_aspect(float config_aspect)
|
||||
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
|
||||
}
|
||||
|
@ -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 */
|
||||
|
@ -386,23 +386,7 @@ static int preinit(const char *arg)
|
||||
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)
|
||||
{
|
||||
|
@ -1088,27 +1088,7 @@ static int preinit(const char *arg)
|
||||
}
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user