From 64aff1306fef2b8769decb0f9ad0e0b32aaeec2c Mon Sep 17 00:00:00 2001 From: Eric Froemling Date: Thu, 9 Apr 2020 22:22:41 -0700 Subject: [PATCH] Fixed ServerCallThread callbacks --- assets/src/ba_data/python/ba/_netutils.py | 14 ++++++++------ .../src/ba_data/python/bastd/ui/store/browser.py | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/assets/src/ba_data/python/ba/_netutils.py b/assets/src/ba_data/python/ba/_netutils.py index ace052dd..8369d335 100644 --- a/assets/src/ba_data/python/ba/_netutils.py +++ b/assets/src/ba_data/python/ba/_netutils.py @@ -87,16 +87,18 @@ class ServerCallThread(threading.Thread): activity) if activity is not None else None def _run_callback(self, arg: Union[None, Dict[str, Any]]) -> None: - # If we were created in an activity context and that activity has - # since died, do nothing (hmm should we be using a context-call - # instead of doing this manually?). - activity = None if self._activity is None else self._activity() - if activity is None or activity.is_expired(): - return + # since died, do nothing. + # FIXME: Should we just be using a ContextCall instead of doing + # this check manually? + if self._activity is not None: + activity = self._activity() + if activity is None or activity.is_expired(): + return # Technically we could do the same check for session contexts, # but not gonna worry about it for now. + assert self._context is not None assert self._callback is not None with self._context: self._callback(arg) diff --git a/assets/src/ba_data/python/bastd/ui/store/browser.py b/assets/src/ba_data/python/bastd/ui/store/browser.py index 87338781..1e0398fc 100644 --- a/assets/src/ba_data/python/bastd/ui/store/browser.py +++ b/assets/src/ba_data/python/bastd/ui/store/browser.py @@ -88,7 +88,7 @@ class StoreBrowserWindow(ba.Window): self._request: Any = None self._r = 'store' - self._last_buy_time: Optional[Union[float, int]] = None + self._last_buy_time: Optional[float] = None super().__init__(root_widget=ba.containerwidget( size=(self._width, self._height + extra_top),