vlc | branch: master | Filip Roséen <[email protected]> | Wed Jul 20 04:36:53 2016 +0200| [97dc31e3ba88f4c1bf953b2872a041f3dc3cf355] | committer: Jean-Baptiste Kempf
gui/qt: prevent potential deadlock in PLModel::dropAppendCopy Given that the function might return prematurely it could, prior to this patch, result in a deadlock (since the playlist-lock will not be unlocked correctly). By introducing vlc_playlist_locker the implementation is safe. Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=97dc31e3ba88f4c1bf953b2872a041f3dc3cf355 --- modules/gui/qt/components/playlist/playlist_model.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/gui/qt/components/playlist/playlist_model.cpp b/modules/gui/qt/components/playlist/playlist_model.cpp index 2df4722..e9f0c52 100644 --- a/modules/gui/qt/components/playlist/playlist_model.cpp +++ b/modules/gui/qt/components/playlist/playlist_model.cpp @@ -172,7 +172,7 @@ bool PLModel::dropMimeData( const QMimeData *data, Qt::DropAction action, void PLModel::dropAppendCopy( const PlMimeData *plMimeData, PLItem *target, int pos ) { - PL_LOCK; + vlc_playlist_locker pl_lock ( THEPL ); playlist_item_t *p_parent = playlist_ItemGetByInput( p_playlist, target->inputItem() ); @@ -188,8 +188,6 @@ void PLModel::dropAppendCopy( const PlMimeData *plMimeData, PLItem *target, int if( !p_item ) continue; pos = playlist_NodeAddCopy( p_playlist, p_item, p_parent, pos ); } - - PL_UNLOCK; } void PLModel::dropMove( const PlMimeData * plMimeData, PLItem *target, int row ) _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
