]> git.tdb.fi Git - xinema.git/commitdiff
Locking fix
authorMikko Rasa <tdb@tdb.fi>
Fri, 16 Oct 2015 23:47:30 +0000 (02:47 +0300)
committerMikko Rasa <tdb@tdb.fi>
Fri, 16 Oct 2015 23:47:30 +0000 (02:47 +0300)
source/client.cpp
source/xinestream.h

index 835dbbd91597f234ad794571dd3e14d56b2ec1d8..8c84e26a7f371a1da9da0f9fdc7bb00488339382 100644 (file)
@@ -133,6 +133,7 @@ void Client::stream_created(XineStream &stream)
        stream.signal_duration_changed.connect(sigc::mem_fun(this, &Client::stream_duration_changed));
        stream.signal_position_changed.connect(sigc::mem_fun(this, &Client::stream_position_changed));
 
+       MutexLock lock(stream.get_mutex());
        stream_state_changed(stream.get_state());
 
        string title = stream.get_title();
index c03dd0324f1dc2cc46da810ef9d34dffcd6a0a85..65f25ab26ee13112a8e07a592075b75919308102 100644 (file)
@@ -38,6 +38,7 @@ public:
        XineStream(XineEngine &, const std::string &);
        ~XineStream();
 
+       Msp::Mutex &get_mutex() { return mutex; }
        State get_state() const { return state; }
        const Msp::Time::TimeDelta &get_duration() const { return duration; }
        const Msp::Time::TimeDelta &get_position() const { return position; }