# HG changeset patch # User nplourde # Date 1089392097 0 # Node ID 33f58bfc8a1b7271368fafcaacad6cdba8177f69 # Parent e66787b22dbddb5df35a6c5f6009480c60ec6646 make mplayer capable of being in the foreground by Dan Christiansen diff -r e66787b22dbd -r 33f58bfc8a1b libvo/vo_quartz.c --- a/libvo/vo_quartz.c Fri Jul 09 15:35:26 2004 +0000 +++ b/libvo/vo_quartz.c Fri Jul 09 16:54:57 2004 +0000 @@ -9,8 +9,7 @@ MPlayer Mac OSX Quartz video out module. - todo: -'plist' resource - -RGB32 color space support + todo: -RGB32 color space support -rootwin -screen overlay output -while mouse button down event mplayer is locked, fix that @@ -302,7 +301,7 @@ CreateNewWindow(kDocumentWindowClass, windowAttrs, &winRect, &theWindow); //Set window title - titleKey = CFSTR("MPlayer"); + titleKey = CFSTR("MPlayer - The Movie Player"); windowTitle = CFCopyLocalizedString(titleKey, NULL); result = SetWindowTitleWithCFString(theWindow, windowTitle); CFRelease(titleKey); @@ -717,6 +716,26 @@ else if (parse_pos[0]) parse_err = 1; } } + + //this chunk of code is heavily based off SDL_macosx.m from SDL + //it uses an Apple private function to request foreground operation + + void CPSEnableForegroundOperation(ProcessSerialNumber* psn); + ProcessSerialNumber myProc, frProc; + Boolean sameProc; + + if (GetFrontProcess(&frProc) == noErr) + { + if (GetCurrentProcess(&myProc) == noErr) + { + if (SameProcess(&frProc, &myProc, &sameProc) == noErr && !sameProc) + { + CPSEnableForegroundOperation(&myProc); + } + SetFrontProcess(&myProc); + } + } + return 0; }