summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-08-22 23:08:59 +0100
committerCarl Hetherington <cth@carlh.net>2018-08-22 23:08:59 +0100
commit21e926ddb62165eaf85c719545135a50e93a0e08 (patch)
treebeb47f4595618ef83333d486a06db1a2f13f9f52 /src
parent6a646daeb7586fdf42bfd344960d9ba1e83466bf (diff)
Fix hang due to incorrect signal ordering.
Diffstat (limited to 'src')
-rw-r--r--src/lib/player.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/player.cc b/src/lib/player.cc
index 1e543fe1f..5dfc4e66d 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -98,7 +98,10 @@ Player::Player (shared_ptr<const Film> film, shared_ptr<const Playlist> playlist
, _shuffler (0)
{
_film_changed_connection = _film->Change.connect (bind (&Player::film_change, this, _1, _2));
- _playlist_change_connection = _playlist->Change.connect (bind (&Player::playlist_change, this, _1));
+ /* The butler must hear about this first, so since we are proxying this through to the butler we must
+ be first.
+ */
+ _playlist_change_connection = _playlist->Change.connect (bind (&Player::playlist_change, this, _1), boost::signals2::at_front);
_playlist_content_change_connection = _playlist->ContentChange.connect (bind(&Player::playlist_content_change, this, _1, _3, _4));
set_video_container_size (_film->frame_size ());