mirror of
https://github.com/mpv-player/mpv
synced 2024-12-15 19:35:49 +00:00
this patch fixes latest bug, discovered by .so ... (relative filenames &
playlists) This affects also the gui (filenames with space) patch by Fabian Franz <FabianFranz@gmx.de> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9302 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
705681b0db
commit
3011688180
15
mplayer.c
15
mplayer.c
@ -582,6 +582,8 @@ static int libmpdemux_was_interrupted(int eof) {
|
||||
|
||||
int playtree_add_playlist(play_tree_t* entry)
|
||||
{
|
||||
play_tree_add_bpf(entry,filename);
|
||||
|
||||
#ifdef HAVE_NEW_GUI
|
||||
if (use_gui) {
|
||||
if (entry) {
|
||||
@ -759,9 +761,22 @@ int gui_no_filename=0;
|
||||
use_gui=0;
|
||||
}
|
||||
if (use_gui && playtree_iter){
|
||||
char* cwd;
|
||||
// Remove Playtree and Playtree-Iter from memory as its not used by gui
|
||||
play_tree_iter_free(playtree_iter);
|
||||
playtree_iter=NULL;
|
||||
|
||||
if ((cwd=get_current_dir_name()))
|
||||
{
|
||||
cwd=(char*)realloc(cwd, strlen(cwd)+2);
|
||||
if (cwd)
|
||||
{
|
||||
strcat(cwd, "/");
|
||||
// Prefix relative paths with current working directory
|
||||
play_tree_add_bpf(playtree, cwd);
|
||||
free(cwd);
|
||||
}
|
||||
}
|
||||
// Import initital playtree into gui
|
||||
import_initial_playtree_into_gui(playtree, mconfig, enqueue);
|
||||
}
|
||||
|
@ -493,6 +493,26 @@ play_tree_add_basepath(play_tree_t* pt, char* bp) {
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper for play_tree_add_basepath (add base path from file)
|
||||
void play_tree_add_bpf(play_tree_t* pt, char* filename)
|
||||
{
|
||||
char *ls, *file;
|
||||
|
||||
if (pt && filename)
|
||||
{
|
||||
file = strdup(filename);
|
||||
if (file)
|
||||
{
|
||||
ls = strrchr(file,PATH_SEP);
|
||||
if(ls) {
|
||||
ls[1] = '\0';
|
||||
play_tree_add_basepath(pt,file);
|
||||
}
|
||||
free(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
play_tree_t*
|
||||
parse_playlist_file(char* file) {
|
||||
stream_t *stream;
|
||||
@ -517,13 +537,7 @@ parse_playlist_file(char* file) {
|
||||
mp_msg(MSGT_PLAYTREE,MSGL_ERR,"Warning error while closing playlist file %s : %s\n",file,strerror(errno));
|
||||
free_stream(stream);
|
||||
|
||||
if(ret) {
|
||||
char* ls = strrchr(file,PATH_SEP);
|
||||
if(ls) {
|
||||
ls[1] = '\0';
|
||||
play_tree_add_basepath(ret,file);
|
||||
}
|
||||
}
|
||||
play_tree_add_bpf(ret, file);
|
||||
|
||||
return ret;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user