From d3cd4008a8584ea24d529814761a105044e00dca Mon Sep 17 00:00:00 2001 From: alfrix Date: Sat, 2 Jul 2022 20:53:28 -0300 Subject: [PATCH] job_status and base_panel: safeguard against possible issues with temps --- panels/base_panel.py | 2 +- panels/job_status.py | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/panels/base_panel.py b/panels/base_panel.py index 68ebf8e4..75b04a03 100644 --- a/panels/base_panel.py +++ b/panels/base_panel.py @@ -230,7 +230,7 @@ class BasePanel(ScreenPanel): if devices is not None: for device in devices: temp = self._screen.printer.get_dev_stat(device, "temperature") - if temp is not None: + if temp is not None and device in self.labels: name = "" if not (device.startswith("extruder") or device.startswith("heater_bed")): if self.titlebar_name_type == "full": diff --git a/panels/job_status.py b/panels/job_status.py index 673f8cef..ca556b80 100644 --- a/panels/job_status.py +++ b/panels/job_status.py @@ -932,7 +932,8 @@ class JobStatusPanel(ScreenPanel): self.labels['lcdmessage'].set_text(str(msg)) def update_temp(self, x, temp, target): - if target > 0: - self.labels[x].set_label("%3d/%3d°" % (temp, target)) - else: - self.labels[x].set_label("%3d°" % temp) + if x in self.labels and temp is not None: + if target is not None and target > 0: + self.labels[x].set_label("%3d/%3d°" % (temp, target)) + else: + self.labels[x].set_label("%3d°" % temp)