[vlc-commits] macosx: fix fullscreen set by vout only (e.g. over http interface)

David Fuhrmann git at videolan.org
Wed Jul 11 16:15:28 CEST 2012


vlc | branch: master | David Fuhrmann <david.fuhrmann at googlemail.com> | Wed Jul 11 13:01:27 2012 +0200| [6b7c0c9fab5394dceaf483381ecd297a40947152] | committer: David Fuhrmann

macosx: fix fullscreen set by vout only (e.g. over http interface)

close #7117

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6b7c0c9fab5394dceaf483381ecd297a40947152
---

 modules/gui/macosx/intf.h |    1 +
 modules/gui/macosx/intf.m |   13 +++++++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h
index 9b0877b..e32c479 100644
--- a/modules/gui/macosx/intf.h
+++ b/modules/gui/macosx/intf.h
@@ -180,6 +180,7 @@ struct intf_sys_t
 - (unsigned int)VLCModifiersToCocoa:(NSString *)theString;
 - (void)updateCurrentlyUsedHotkeys;
 - (void)fullscreenChanged;
+- (void)checkFullscreenChange:(NSNumber *)o_full;
 - (void)PlaylistItemChanged;
 - (void)playbackStatusUpdated;
 - (void)sendDistributedNotificationWithUpdatedPlaybackStatus;
diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m
index 6626a36..ee59fc7 100644
--- a/modules/gui/macosx/intf.m
+++ b/modules/gui/macosx/intf.m
@@ -170,8 +170,8 @@ static int WindowControl( vout_window_t *p_wnd, int i_query, va_list args )
     else if( i_query == VOUT_WINDOW_SET_FULLSCREEN )
     {
         NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init];
-        // we already have our playlist "fullscreen" callback, do not repeat the same call here
-        //[[VLCMain sharedInstance] performSelectorOnMainThread:@selector(fullscreenChanged) withObject: nil waitUntilDone: NO];
+        int i_full = va_arg( args, int );
+        [[VLCMain sharedInstance] performSelectorOnMainThread:@selector(checkFullscreenChange:) withObject:[NSNumber numberWithInt: i_full] waitUntilDone:NO];
         [o_pool release];
     }
     else
@@ -1474,6 +1474,15 @@ unsigned int CocoaKeyToVLC( unichar i_key )
     }
 }
 
+- (void)checkFullscreenChange:(NSNumber *)o_full
+{
+    BOOL b_full = [o_full boolValue];    
+    if( p_intf && !var_GetBool( pl_Get( p_intf ), "fullscreen" ) != !b_full )
+    {
+        var_SetBool( pl_Get(p_intf), "fullscreen", b_full );        
+    }
+}
+
 - (void)PlaylistItemChanged
 {
     if( p_current_input && ( p_current_input->b_dead || !vlc_object_alive( p_current_input ) ))



More information about the vlc-commits mailing list