diff --git a/mopidy/backends/gstreamer.py b/mopidy/backends/gstreamer.py index 3da1c0d5..2d79231c 100644 --- a/mopidy/backends/gstreamer.py +++ b/mopidy/backends/gstreamer.py @@ -47,7 +47,7 @@ class GStreamerPlaybackController(BasePlaybackController): self.bin.set_property("video-sink", sink) self.bus.add_signal_watch() - self.bus.connect('message', self._message) + self.bus_id = self.bus.connect('message', self._message) self.stop() @@ -126,6 +126,7 @@ class GStreamerPlaybackController(BasePlaybackController): bin, self.bin = self.bin, None bus, self.bus = self.bus, None + bus.disconnect(self.bus_id) bus.remove_signal_watch() bin.get_state(-1) bin.set_state(gst.STATE_NULL) diff --git a/tests/backends/basetests.py b/tests/backends/basetests.py index b26c8fa2..82e37ff3 100644 --- a/tests/backends/basetests.py +++ b/tests/backends/basetests.py @@ -662,6 +662,7 @@ class BasePlaybackControllerTest(object): tracks = self.backend.current_playlist.playlist.tracks self.assert_(self.tracks[0] not in tracks) + @populate_playlist def test_previous_track_with_consume(self): self.playback.consume = True self.playback.play()