Mercurial > mamba
changeset 279:162bddbbc5d0
Protect against bad tilesets as well
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Thu, 15 Sep 2011 18:21:09 +0200 |
parents | f10d06fc64b2 |
children | cad653e4f59c |
files | mamba/habitats/editor.py |
diffstat | 1 files changed, 17 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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()