diff --git a/panels/printer_select.py b/panels/printer_select.py index 28ba41d2..9c0689e7 100644 --- a/panels/printer_select.py +++ b/panels/printer_select.py @@ -47,5 +47,6 @@ class PrinterSelect(ScreenPanel): def activate(self): self._screen.base_panel.action_bar.hide() - self._screen._ws.connecting = False GLib.timeout_add(100, self._screen.base_panel.action_bar.hide) + if self._screen._ws: + self._screen._ws.connecting = False diff --git a/screen.py b/screen.py index ddd203e7..3f79a565 100644 --- a/screen.py +++ b/screen.py @@ -702,8 +702,12 @@ class KlipperScreen(Gtk.Window): self.reload_panels() def reload_panels(self, *args): + if "printer_select" in self._cur_panels: + self.show_printer_select() + return self._remove_all_panels() - self.printer.change_state(self.printer.state) + if self.printer is not None: + self.printer.change_state(self.printer.state) def _websocket_callback(self, action, data): if self.connecting: