# HG changeset patch # User Drew Perttula # Date 2019-05-28 06:55:35 # Node ID ce6bd8ff49e2cd07efa4ab028f0eb9ffcf22fd77 # Parent 7bafb8213b4b49456f22fd38060a01a05d947a7d KC mark a dead subbox with a new attribute, since it's awkward to make self.scale an Optional Ignore-this: 7f0c1c6a8b3a349329cffb1c2849dba4 diff --git a/bin/keyboardcomposer b/bin/keyboardcomposer --- a/bin/keyboardcomposer +++ b/bin/keyboardcomposer @@ -103,6 +103,7 @@ class SubmasterBox(tk.Frame): self.slider_var = tk.DoubleVar() self.pauseTrace = False self.scale = SubScale(self, variable=self.slider_var, width=20) + self.dead = False self.namelabel = tk.Label(self, font="Arial 9", @@ -135,15 +136,15 @@ class SubmasterBox(tk.Frame): return self._val def setVal(self, newVal: float) -> None: - if self.scale is None: + if self.dead: return try: self.scale.set(newVal) self.levellabel.config(text=str(newVal)) except Exception: log.warn("disabling handlers on broken subbox") - self.scale = None - + self.dead = True + def cleanup(self): self.slider_var.trace_vdelete('w', self._slider_var_trace)