From: Jean-Baptiste Kempf Date: Sun, 4 Feb 2007 21:14:43 +0000 (+0000) Subject: D-Bus ameliorations and fix by Mr_Mirsal. X-Git-Tag: 0.9.0-test0~8724 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=79d77fdcc7247a8ed88140e9e01695321fc7b228;p=vlc D-Bus ameliorations and fix by Mr_Mirsal. --- diff --git a/THANKS b/THANKS index e8dd1e2d98..a7edc32ca5 100644 --- a/THANKS +++ b/THANKS @@ -125,7 +125,7 @@ Mike Schrag - directx device selection Mikko Hirvonen - Firefox-1.5.x development configure patch Michel Lanners - fixed typos and AltiVec detection Miroslav Oujeský - Czech translation -Mirsal Ennaime - D-Bus amelioration +Mirsal Ennaime - D-Bus ameliorations Moritz Bunkus - Matroska patches Morten Brix Pedersen - Danish translation Nilmoni Deb - autoconf and Makefile fixes diff --git a/modules/control/dbus.c b/modules/control/dbus.c index ab3bdbd3f5..b0e59cb6ed 100644 --- a/modules/control/dbus.c +++ b/modules/control/dbus.c @@ -379,11 +379,12 @@ DBUS_METHOD( GetCurrentTrack ) playlist_t *p_playlist = pl_Yield( (vlc_object_t*) p_this ); playlist_item_t* p_tested_item = p_playlist->p_root_onelevel; - while ( p_tested_item->i_id != p_playlist->status.p_item->i_id ) + while ( p_tested_item->p_input->i_id != + p_playlist->status.p_item->p_input->i_id ) { i_position++; p_tested_item = playlist_GetNextLeaf( p_playlist, - p_playlist->p_root_onelevel, + p_playlist->p_root_onelevel, p_tested_item, VLC_FALSE, VLC_FALSE ); @@ -429,13 +430,14 @@ DBUS_METHOD( GetLength ) dbus_int32_t i_elements = 0; playlist_t *p_playlist = pl_Yield( (vlc_object_t*) p_this ); playlist_item_t* p_tested_item = p_playlist->p_root_onelevel; - playlist_item_t* p_last_item = playlist_GetLastLeaf( p_playlist, p_playlist->p_root_onelevel ); + playlist_item_t* p_last_item = playlist_GetLastLeaf( p_playlist, + p_playlist->p_root_onelevel ); - while ( p_tested_item->i_id != p_last_item->i_id ) + while ( p_tested_item->p_input->i_id != p_last_item->p_input->i_id ) { i_elements++; p_tested_item = playlist_GetNextLeaf( p_playlist, - p_playlist->p_root_onelevel, + p_playlist->p_root_onelevel, p_tested_item, VLC_FALSE, VLC_FALSE ); @@ -449,7 +451,6 @@ DBUS_METHOD( GetLength ) DBUS_METHOD( DelTrack ) { - /*FIXME: Doesn't work.*/ REPLY_INIT; DBusError error; @@ -481,11 +482,14 @@ DBUS_METHOD( DelTrack ) VLC_FALSE ); } - playlist_NodeRemoveItem( p_playlist, - p_tested_item, - p_playlist->p_root_onelevel ); - pl_Release( p_playlist ); + PL_LOCK + playlist_DeleteFromInput( p_playlist, + p_tested_item->p_input->i_id, + VLC_TRUE ); + PL_UNLOCK + pl_Release( p_playlist ); + REPLY_SEND; }