Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2013-05-13 20:52:46 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2013-05-14 11:57:34 (GMT)
commit85cd9ab565fe37c981221a40f3756d8ceda85bfe (patch)
treed5d99cbcf9e9b456d8f9bf43ed49c9482cc130b1
parent1b10ba21d79f3d15ae9faed20648524fa56b6163 (diff)
Don't pause audio stream when playback finishes (#3694)
reset_buttons_cb gets called when speech playback finishes. Changing the activity property of the play ToggleToolButton will invoke its 'toggled' signal, causing it to pause the audio stream, rather than letting it close completely. Block the signal handler from executing at this point to avoid this confusion.
-rw-r--r--speechtoolbar.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/speechtoolbar.py b/speechtoolbar.py
index b01a221..1c9c291 100644
--- a/speechtoolbar.py
+++ b/speechtoolbar.py
@@ -53,7 +53,7 @@ class SpeechToolbar(Gtk.Toolbar):
# Play button
self.play_btn = ToggleToolButton('media-playback-start')
self.play_btn.show()
- self.play_btn.connect('toggled', self.play_cb)
+ self.play_toggled_handler = self.play_btn.connect('toggled', self.play_cb)
self.insert(self.play_btn, -1)
self.play_btn.set_tooltip(_('Play / Pause'))
@@ -158,7 +158,9 @@ class SpeechToolbar(Gtk.Toolbar):
logging.error('reset buttons')
self.play_btn.set_icon_name('media-playback-start')
self.stop_btn.set_sensitive(False)
+ self.play_btn.handler_block(self.play_toggled_handler)
self.play_btn.set_active(False)
+ self.play_btn.handler_unblock(self.play_toggled_handler)
self.is_paused = False
def play_cb(self, widget):