# HG changeset patch # User Neil Muller # Date 1316103669 -7200 # Node ID 162bddbbc5d0f2a0eded6a72168589251b631ef3 # Parent f10d06fc64b26604a3f9dde2049712e5c6140f48 Protect against bad tilesets as well diff -r f10d06fc64b2 -r 162bddbbc5d0 mamba/habitats/editor.py --- a/mamba/habitats/editor.py Thu Sep 15 18:11:55 2011 +0200 +++ b/mamba/habitats/editor.py Thu Sep 15 18:21:09 2011 +0200 @@ -233,7 +233,23 @@ def change_tileset(self, ev, widget, new_name): self.level.update_tiles_ascii() - self.level.tileset = Tileset(new_name) + old_tileset = self.level.tileset + try: + self.level.tileset = Tileset(new_name) + self.level.restart() + except pygame.error, error: + self.level.tileset = old_tileset + message = MessageBox((300, 300), + 'Unable to change tileset:: %s' % error, + self.refresh_display, color='red') + self.container.add(message) + message.grab_focus() + return True + self.clear_toolbar() + self.setup_toolbar() + return True + + def refresh_display(self): self.level.restart() self.clear_toolbar() self.setup_toolbar()