From 1d746c074c5c7de403e3ff239bba42f186a57325 Mon Sep 17 00:00:00 2001 From: Jordan Ruthe Date: Mon, 15 Feb 2021 14:25:07 -0500 Subject: [PATCH] screen: Catch errors on attaching panel --- screen.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/screen.py b/screen.py index 106750d0..3f8d65ce 100644 --- a/screen.py +++ b/screen.py @@ -231,18 +231,23 @@ class KlipperScreen(Gtk.Window): if hasattr(self.panels[panel_name],"process_update"): self.panels[panel_name].process_update("notify_status_update", self.printer.get_data()) - if remove == 2: - self._remove_all_panels() - elif remove == 1: - self._remove_current_panel(pop) + try: + if remove == 2: + self._remove_all_panels() + elif remove == 1: + self._remove_current_panel(pop) - self.add(self.panels[panel_name].get()) - self.show_all() + logger.debug("Attaching panel %s" % panel_name) - if hasattr(self.panels[panel_name],"activate"): - self.panels[panel_name].activate() + self.add(self.panels[panel_name].get()) self.show_all() + if hasattr(self.panels[panel_name],"activate"): + self.panels[panel_name].activate() + self.show_all() + except: + logger.exception("Error attaching panel") + self._cur_panels.append(panel_name) logger.debug("Current panel hierarchy: %s", str(self._cur_panels))