X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/3c10e656308bd0f29d8ac4d15f7f95f29aec1697..refs/heads/master:/src/minwii/widgets/instrumentselector.py diff --git a/src/minwii/widgets/instrumentselector.py b/src/minwii/widgets/instrumentselector.py index 403f3bc..f8a5e32 100755 --- a/src/minwii/widgets/instrumentselector.py +++ b/src/minwii/widgets/instrumentselector.py @@ -60,10 +60,14 @@ class InstrumentSelector(pygame.sprite.LayeredDirty, EventHandlerMixin) : pygame.display.flip() pygame.mouse.set_visible(False) while self._running : - EventDispatcher.dispatchEvents() - dirty = self.draw(pygame.display.get_surface()) - pygame.display.update(dirty) - clock.tick(FRAMERATE) + try : + EventDispatcher.dispatchEvents() + dirty = self.draw(pygame.display.get_surface()) + pygame.display.update(dirty) + clock.tick(FRAMERATE) + except KeyboardInterrupt : + self.stop() + raise def stop(self) : self._running = False @@ -72,9 +76,8 @@ class InstrumentSelector(pygame.sprite.LayeredDirty, EventHandlerMixin) : @event_handler(pygame.KEYDOWN) def handleKeyDown(self, event) : - if event.key == pygame.K_q or \ - event.unicode == u'q' or \ - pygame.K_ESCAPE: + if event.key in (pygame.K_q, pygame.K_ESCAPE) or \ + event.unicode == u'q' : self.stop() @event_handler(pygame.MOUSEMOTION)