Commit 53ad17fa authored by Felix Paul Kühne's avatar Felix Paul Kühne

* fix 'fullscreen only opens where my vout is, but I told it to open on...

* fix 'fullscreen only opens where my vout is, but I told it to open on another screen'. Remember that CGScreenID is different from VLC's 'video-device'
parent 92b9cc78
/***************************************************************************** /*****************************************************************************
* embeddedwindow.m: MacOS X interface module * embeddedwindow.m: MacOS X interface module
***************************************************************************** *****************************************************************************
* Copyright (C) 2002-2005 the VideoLAN team * Copyright (C) 2002-2005 the VideoLAN team
* $Id$ * $Id$
* *
* Authors: Benjamin Pracht <bigben at videolan dot org> * Authors: Benjamin Pracht <bigben at videolan dot org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or * the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/ *****************************************************************************/
/***************************************************************************** /*****************************************************************************
* Preamble * Preamble
*****************************************************************************/ *****************************************************************************/
/* DisableScreenUpdates, SetSystemUIMode, ... */ /* DisableScreenUpdates, SetSystemUIMode, ... */
#import <QuickTime/QuickTime.h> #import <QuickTime/QuickTime.h>
...@@ -35,8 +35,8 @@ ...@@ -35,8 +35,8 @@
#import "controls.h" #import "controls.h"
/***************************************************************************** /*****************************************************************************
* VLCEmbeddedWindow Implementation * VLCEmbeddedWindow Implementation
*****************************************************************************/ *****************************************************************************/
@implementation VLCEmbeddedWindow @implementation VLCEmbeddedWindow
...@@ -150,8 +150,8 @@ ...@@ -150,8 +150,8 @@
} }
/***************************************************************************** /*****************************************************************************
* Fullscreen support * Fullscreen support
*/ */
- (BOOL)isFullscreen - (BOOL)isFullscreen
{ {
...@@ -176,14 +176,17 @@ ...@@ -176,14 +176,17 @@
vout_thread_t *p_vout = vlc_object_find( VLCIntf, VLC_OBJECT_VOUT, FIND_ANYWHERE ); vout_thread_t *p_vout = vlc_object_find( VLCIntf, VLC_OBJECT_VOUT, FIND_ANYWHERE );
BOOL blackout_other_displays = var_GetBool( p_vout, "macosx-black" ); BOOL blackout_other_displays = var_GetBool( p_vout, "macosx-black" );
screen = [NSScreen screenWithDisplayID:(CGDirectDisplayID)var_GetInteger( p_vout, "video-device" )]; screen = [[NSScreen screens] objectAtIndex: var_GetInteger( p_vout, "video-device" )];
vlc_object_release( p_vout );
[self lockFullscreenAnimation]; [self lockFullscreenAnimation];
if (!screen) if(! screen )
{
msg_Dbg( p_vout, "chosen screen isn't present, using current screen for fullscreen mode" );
screen = [self screen]; screen = [self screen];
}
vlc_object_release( p_vout );
screen_rect = [screen frame]; screen_rect = [screen frame];
...@@ -330,7 +333,7 @@ ...@@ -330,7 +333,7 @@
} }
/* Make sure setFrame gets executed on main thread especially if we are animating. /* Make sure setFrame gets executed on main thread especially if we are animating.
* (Thus we won't block the video output thread) */ * (Thus we won't block the video output thread) */
- (void)setFrame:(NSRect)frame display:(BOOL)display animate:(BOOL)animate - (void)setFrame:(NSRect)frame display:(BOOL)display animate:(BOOL)animate
{ {
struct { NSRect frame; BOOL display; BOOL animate;} args; struct { NSRect frame; BOOL display; BOOL animate;} args;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment