Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2013-02-27 17:37:28 (GMT)
committer Walter Bender <walter.bender@gmail.com>2013-02-27 17:37:28 (GMT)
commitef4ba245d877c7a319d0d11ad94e2ff362ab0953 (patch)
tree34714e1e898959f355b0e2bb16dcad35b3e52578
parent84072542a3d2dd6c2b2acb49bff2bbcbc5ee01ea (diff)
check validity of slide index before recording/playing back audio
-rw-r--r--PortfolioActivity.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/PortfolioActivity.py b/PortfolioActivity.py
index 219ab18..60f9d9b 100644
--- a/PortfolioActivity.py
+++ b/PortfolioActivity.py
@@ -1205,6 +1205,11 @@ class PortfolioActivity(activity.Activity):
if self._grecord is None:
_logger.debug('setting up grecord')
self._grecord = Grecord(self)
+ if self.i < 0 or self.i > len(self._slides) - 1:
+ _logger.debug('bad slide index %d' % (self.i))
+ return
+ else:
+ _logger.debug('slide #%d' % (self.i))
if self._recording: # Was recording, so stop (and save?)
_logger.debug('recording...True. Preparing to save.')
self._grecord.stop_recording_audio()
@@ -1216,7 +1221,6 @@ class PortfolioActivity(activity.Activity):
self._playback_button.type = 'play'
self._playback_button.set_layer(DRAG)
# Autosave if there was not already a recording
- slide = self._slides[self.i]
_logger.debug('Autosaving recording')
self._notify_successful_save(title=_('Save recording'))
GObject.timeout_add(100, self._wait_for_transcoding_to_finish)
@@ -1239,6 +1243,12 @@ class PortfolioActivity(activity.Activity):
def _playback_recording_cb(self, button=None):
''' Play back current recording '''
_logger.debug('Playback current recording from output.ogg...')
+ if self.i < 0 or self.i > len(self._slides) - 1:
+ _logger.debug('bad slide index %d' % (self.i))
+ return
+ if self._slides[self.i].sound is None:
+ _logger.debug('slide %d has no sound' % (self.i))
+ return
self._playback_button.set_image(self.playing_pixbuf)
self._playback_button.set_layer(DRAG)
self._playback_button.type = 'playing'