From 457c601b79a87bac249b6b4a810ea2c00b114255 Mon Sep 17 00:00:00 2001 From: Vincent Le Goff Date: Sat, 15 Oct 2016 17:35:59 -0700 Subject: [PATCH] Fix #22: crash if exitting the ConnectionDialog without selecting a server --- src/cocomud.py | 15 ++++++++------- src/ui/window.py | 5 +++++ src/version.py | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/cocomud.py b/src/cocomud.py index eacbb9f..5e8ab9d 100644 --- a/src/cocomud.py +++ b/src/cocomud.py @@ -49,10 +49,11 @@ # Create the client and ClientWindow window = ClientWindow(engine) world = window.world -hostname = window.panel.world.hostname -port = window.panel.world.port -client = engine.open(hostname, port, world) -client.link_window(window) -world.load() -client.start() -app.MainLoop() +if world is not None: + hostname = window.panel.world.hostname + port = window.panel.world.port + client = engine.open(hostname, port, world) + client.link_window(window) + world.load() + client.start() + app.MainLoop() diff --git a/src/ui/window.py b/src/ui/window.py index d85c06e..6b9ff4f 100644 --- a/src/ui/window.py +++ b/src/ui/window.py @@ -48,6 +48,7 @@ class ClientWindow(DummyUpdater): def __init__(self, engine, world=None): super(ClientWindow, self).__init__(None) + self.panel = None self.engine = engine self.focus = True self.interrupt = False @@ -120,6 +121,10 @@ def InitUI(self, world=None): dialog.ShowModal() world = self.engine.default_world + if world is None: + self.Destroy() + return + self.panel = MUDPanel(self, self.engine, world) self.SetTitle("{} [CocoMUD]".format(world.name)) self.Maximize() diff --git a/src/version.py b/src/version.py index 09c7a6a..35b1046 100644 --- a/src/version.py +++ b/src/version.py @@ -1 +1 @@ -BUILD = 16 +BUILD = 17