[MPlayer-cvslog] r25207 - trunk/libvo/vo_macosx.m

ulion subversion at mplayerhq.hu
Fri Nov 30 01:03:01 CET 2007


Author: ulion
Date: Fri Nov 30 01:03:01 2007
New Revision: 25207

Log:
Fix play window not get actived problem on Leopard.


Modified:
   trunk/libvo/vo_macosx.m

Modified: trunk/libvo/vo_macosx.m
==============================================================================
--- trunk/libvo/vo_macosx.m	(original)
+++ trunk/libvo/vo_macosx.m	Fri Nov 30 01:03:01 2007
@@ -63,6 +63,8 @@ static float old_movie_aspect;
 static float winAlpha = 1;
 static int int_pause = 0;
 
+static BOOL isLeopardOrLater;
+
 static vo_info_t info = 
 {
 	"Mac OSX Core Video",
@@ -301,6 +303,7 @@ static int preinit(const char *arg)
 	NSApplicationLoad();
 	autoreleasepool = [[NSAutoreleasePool alloc] init];
 	NSApp = [NSApplication sharedApplication];
+	isLeopardOrLater = floor(NSAppKitVersionNumber) > 824;
 	
 	if(!shared_buffer)
 	{
@@ -878,6 +881,16 @@ static int control(uint32_t request, voi
 	if (event == nil)
 		return;
 	[NSApp sendEvent:event];
+	// Without SDL's bootstrap code (include SDL.h in mplayer.c),
+	// on Leopard, we got trouble to get the play window auto focused
+	// when app is actived. Following code fix this problem.
+#ifndef HAVE_SDL
+	if (isLeopardOrLater && [event type] == NSAppKitDefined
+			&& [event subtype] == NSApplicationActivatedEventType) {
+		[window makeMainWindow];
+		[window makeKeyAndOrderFront:mpGLView];
+	}
+#endif
 }
 
 /*



More information about the MPlayer-cvslog mailing list