printer: Ensure callbacks don't run out of order #96

This commit is contained in:
Jordan Ruthe 2021-02-26 10:49:27 -05:00
parent e1f45b3c1a
commit f04b14c813

View File

@ -1,5 +1,11 @@
import gi
import logging
gi.require_version("Gtk", "3.0")
from gi.repository import Gdk, GLib
from ks_includes.KlippyGcodes import KlippyGcodes
class Printer:
state_callbacks = {
"disconnected": None,
@ -122,8 +128,11 @@ class Printer:
logging.debug("Changing state from '%s' to '%s'" % (self.state, state))
self.state = state
if self.state_callbacks[state] != None:
logging.debug("Running callback for state: %s" % state)
self.state_callbacks[state]()
logging.debug("Adding callback for state: %s" % state)
Gdk.threads_add_idle(
GLib.PRIORITY_HIGH_IDLE,
self.state_callbacks[state]
)
def configure_power_devices(self, data):
self.power_devices = {}