]> git.sesse.net Git - vlc/commitdiff
skins2: fix art display misfunctioning in latest git vlc
authorErwan Tulou <erwan10@videolan.org>
Sun, 27 Jan 2013 16:23:15 +0000 (17:23 +0100)
committerErwan Tulou <erwan10@videolan.org>
Sun, 27 Jan 2013 16:51:19 +0000 (17:51 +0100)
Art display used to rely on an event issued by vlc core which has been renamed into "activity" lately. The issue was that it seems no longer fired when a new
 input is launched.

modules/gui/skins2/src/vlcproc.cpp

index e19c61b4ff919da1de9a3f0fb4d674a006ddf460..d69b98bb86cf3b59230b8ba168da0c66df0594a7 100644 (file)
@@ -490,6 +490,28 @@ void VlcProc::on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal )
 
         getIntf()->p_sys->p_input = pInput;
         vlc_object_hold( pInput );
+
+        input_item_t *p_item = input_GetItem( pInput );
+        if( p_item )
+        {
+            // Update short name
+            char *psz_name = input_item_GetName( p_item );
+            SET_TEXT( m_cVarStreamName, UString( getIntf(), psz_name ) );
+            free( psz_name );
+
+            // Update local path (if possible) or full uri
+            char *psz_uri = input_item_GetURI( p_item );
+            char *psz_path = make_path( psz_uri );
+            char *psz_save = psz_path ? psz_path : psz_uri;
+            SET_TEXT( m_cVarStreamURI, UString( getIntf(), psz_save ) );
+            free( psz_path );
+            free( psz_uri );
+
+            // Update art uri
+            char *psz_art = input_item_GetArtURL( p_item );
+            SET_STRING( m_cVarStreamArt, string( psz_art ? psz_art : "" ) );
+            free( psz_art );
+        }
     }
 
     switch( newVal.i_int )