Commit 471c012a authored by Pierre Ynard's avatar Pierre Ynard

Don't pass relative file paths when using --one-instance

Fixes Debian bug #600269
parent 4f56b4a6
...@@ -564,8 +564,12 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, ...@@ -564,8 +564,12 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
for( i_input = vlc_optind; i_input < i_argc;i_input++ ) for( i_input = vlc_optind; i_input < i_argc;i_input++ )
{ {
/* We need to resolve relative paths in this instance */
char *psz_mrl = make_URI( ppsz_argv[i_input], NULL );
if( psz_mrl == NULL )
continue;
msg_Dbg( p_libvlc, "Adds %s to the running Media Player", msg_Dbg( p_libvlc, "Adds %s to the running Media Player",
ppsz_argv[i_input] ); psz_mrl );
p_dbus_msg = dbus_message_new_method_call( p_dbus_msg = dbus_message_new_method_call(
"org.mpris.vlc", "/TrackList", "org.mpris.vlc", "/TrackList",
...@@ -574,6 +578,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, ...@@ -574,6 +578,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
if ( NULL == p_dbus_msg ) if ( NULL == p_dbus_msg )
{ {
msg_Err( p_libvlc, "D-Bus problem" ); msg_Err( p_libvlc, "D-Bus problem" );
free( psz_mrl );
system_End( p_libvlc ); system_End( p_libvlc );
exit( 1 ); exit( 1 );
} }
...@@ -581,12 +586,14 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, ...@@ -581,12 +586,14 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
/* append MRLs */ /* append MRLs */
dbus_message_iter_init_append( p_dbus_msg, &dbus_args ); dbus_message_iter_init_append( p_dbus_msg, &dbus_args );
if ( !dbus_message_iter_append_basic( &dbus_args, if ( !dbus_message_iter_append_basic( &dbus_args,
DBUS_TYPE_STRING, &ppsz_argv[i_input] ) ) DBUS_TYPE_STRING, &psz_mrl ) )
{ {
dbus_message_unref( p_dbus_msg ); dbus_message_unref( p_dbus_msg );
free( psz_mrl );
system_End( p_libvlc ); system_End( p_libvlc );
exit( 1 ); exit( 1 );
} }
free( psz_mrl );
b_play = TRUE; b_play = TRUE;
if( var_InheritBool( p_libvlc, "playlist-enqueue" ) ) if( var_InheritBool( p_libvlc, "playlist-enqueue" ) )
b_play = FALSE; b_play = FALSE;
......
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