From a5bb8ec113f75c4dbaaf657ddd562034b28bed55 Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Sat, 17 May 2014 20:05:43 -0400 Subject: [PATCH] Fix closing stacked dialogs If two dialogs were stacked, when the top one closed we assumed the top widget would have a title, but it may be another dialog in which case it does not. Change-Id: I9353400bf6000bfd106783c157412df150c76d1e --- gertty/app.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gertty/app.py b/gertty/app.py index 7666ee8..bc3107d 100644 --- a/gertty/app.py +++ b/gertty/app.py @@ -200,6 +200,7 @@ class App(object): self.popup(dialog) def changeScreen(self, widget): + self.log.debug("Changing screen to %s" % (widget,)) self.status.update(title=widget.title) self.screens.append(self.loop.widget) self.loop.widget = widget @@ -208,7 +209,9 @@ class App(object): if not self.screens: return widget = self.screens.pop() - self.status.update(title=widget.title) + self.log.debug("Popping screen to %s" % (widget,)) + if hasattr(widget, 'title'): + self.status.update(title=widget.title) self.loop.widget = widget self.refresh() @@ -225,6 +228,7 @@ class App(object): 'center', ('relative', relative_width), 'middle', ('relative', relative_height), min_width=min_width, min_height=min_height) + self.log.debug("Overlaying %s on screen %s" % (widget, self.loop.widget)) self.screens.append(self.loop.widget) self.loop.widget = overlay