mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-06 22:22:11 +08:00
mici setup: fix race on disconnect guard
This commit is contained in:
@@ -79,6 +79,7 @@ class NetworkConnectivityMonitor:
|
||||
|
||||
def invalidate(self):
|
||||
self.recheck_event.set()
|
||||
self.reset()
|
||||
|
||||
def _run(self):
|
||||
while not self._stop_event.is_set():
|
||||
@@ -400,9 +401,8 @@ class NetworkSetupPageBase(Scroller):
|
||||
self._pending_wifi_grow_animation = False
|
||||
|
||||
def _nav_stack_tick(self):
|
||||
self._wifi_manager.process_callbacks()
|
||||
|
||||
# Discard stale poll results while network state is changing
|
||||
# Check network state before processing callbacks so forgetting flag
|
||||
# is still set on the frame the forgotten callback fires
|
||||
network_changing = self._wifi_ui.any_network_forgetting or self._wifi_manager.wifi_state.status == ConnectStatus.CONNECTING
|
||||
if network_changing:
|
||||
self._network_monitor.invalidate()
|
||||
@@ -413,6 +413,8 @@ class NetworkSetupPageBase(Scroller):
|
||||
self._continue_button.set_visible(has_internet)
|
||||
self._waiting_button.set_visible(not has_internet)
|
||||
|
||||
self._wifi_manager.process_callbacks()
|
||||
|
||||
if has_internet and not self._prev_has_internet:
|
||||
self._pending_has_internet_scroll = True
|
||||
self._prev_has_internet = has_internet
|
||||
|
||||
Reference in New Issue
Block a user