changeset 28306:19cf626f188a

fix device_id option after r28165 patch by Adrian Stutz %adrian A sttz P ch% Original thread: date Fri, Jan 9, 2009 at 4:03 PM subject [MPlayer-dev-eng] [PATCH] vo_macosx: fix device_id option after r28165
author gpoirier
date Sun, 18 Jan 2009 18:05:16 +0000
parents 6f11a5363242
children 2391228b7ff0
files DOCS/man/en/mplayer.1 libvo/vo_macosx.m
diffstat 2 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/DOCS/man/en/mplayer.1	Sat Jan 17 21:33:30 2009 +0000
+++ b/DOCS/man/en/mplayer.1	Sun Jan 18 18:05:16 2009 +0000
@@ -3560,7 +3560,8 @@
 .PD 0
 .RSs
 .IPs device_id=<number>
-Choose the display device to use in fullscreen.
+Choose the display device to use for fullscreen or set it to \-1 to 
+always use the same screen the video window is on (default: \-1 \- auto).
 .IPs shared_buffer
 Write output to a shared memory buffer instead of displaying it and 
 try to open an existing NSConnection for communication with a GUI.
--- a/libvo/vo_macosx.m	Sat Jan 17 21:33:30 2009 +0000
+++ b/libvo/vo_macosx.m	Sun Jan 18 18:05:16 2009 +0000
@@ -49,8 +49,7 @@
 static char *buffer_name;
 
 //Screen
-int screen_id;
-BOOL screen_force;
+int screen_id = -1;
 NSRect screen_frame;
 NSScreen *screen_handle;
 NSArray *screen_array;
@@ -111,13 +110,13 @@
 	screen_array = [NSScreen screens];
 	if(screen_id < [screen_array count])
 	{
-		screen_handle = [screen_array objectAtIndex:screen_id];
+		screen_handle = [screen_array objectAtIndex:(screen_id < 0 ? 0 : screen_id)];
 	}
 	else
 	{
 		mp_msg(MSGT_VO, MSGL_FATAL, "Get device error: Device ID %d do not exist, falling back to main device.\n", screen_id);
 		screen_handle = [screen_array objectAtIndex:0];
-		screen_id = 0;
+		screen_id = -1;
 	}
 	screen_frame = [screen_handle frame];
 	vo_screenwidth = screen_frame.size.width;
@@ -325,7 +324,7 @@
 }
 
 static opt_t subopts[] = {
-{"device_id",     OPT_ARG_INT,  &screen_id,     (opt_test_f)int_non_neg},
+{"device_id",     OPT_ARG_INT,  &screen_id,     NULL},
 {"shared_buffer", OPT_ARG_BOOL, &shared_buffer, NULL},
 {"buffer_name",   OPT_ARG_MSTRZ,&buffer_name,   NULL},
 {NULL}
@@ -335,7 +334,7 @@
 {
 	
 	// set defaults
-	screen_id = 0;
+	screen_id = -1;
 	shared_buffer = false;
 	buffer_name = NULL;
 	
@@ -859,7 +858,7 @@
 		}
 		
 		old_frame = [window frame];	//save main window size & position
-		if(screen_force)
+		if(screen_id >= 0)
 			screen_frame = [screen_handle frame];
 		else {
 			screen_frame = [[window screen] frame];