Fixed Tk state being accessed in a thread

This commit is contained in:
Kiel42 2019-10-28 18:09:19 +01:00 committed by CMDR-Kiel42
parent 79271aa607
commit c27d74ef01

View File

@ -76,11 +76,12 @@ class AutoCompleter(Entry, PlaceHolder):
def changed(self, name, index, mode): def changed(self, name, index, mode):
self.set_default_style() self.set_default_style()
if self.var.get().__len__() < 3 and self.lb_up or self.has_selected: value = self.var.get()
if value.__len__() < 3 and self.lb_up or self.has_selected:
self.hide_list() self.hide_list()
self.has_selected = False self.has_selected = False
else: else:
t = threading.Thread(target=self.query_systems) t = threading.Thread(target=self.query_systems, args=[value])
t.start() t.start()
def selection(self, event=None): def selection(self, event=None):
@ -143,8 +144,8 @@ class AutoCompleter(Entry, PlaceHolder):
self.lb.grid_remove() self.lb.grid_remove()
self.lb_up = False self.lb_up = False
def query_systems(self): def query_systems(self, inp):
inp = self.var.get().strip() inp = inp.strip()
if inp != self.placeholder and inp.__len__() >= 3: if inp != self.placeholder and inp.__len__() >= 3:
url = "https://spansh.co.uk/api/systems?" url = "https://spansh.co.uk/api/systems?"
try: try: