fix: reset active_cameras to set() not list in error handler

In BirdsEyeFrameManager.update(), the exception handler on line 756
resets self.active_cameras to [] (a list), but it is initialized as
set() and compared as a set throughout the rest of the code.

Since set() \!= [] evaluates to True even though both are empty, the
next call to update_frame() will incorrectly detect a layout change
and trigger an unnecessary frame rebuild after every exception.
This commit is contained in:
ryzendigo 2026-03-16 14:29:20 +08:00
parent 5a214eb0d1
commit be430359b7

View File

@ -753,7 +753,7 @@ class BirdsEyeFrameManager:
frame_changed, layout_changed = self.update_frame(frame)
except Exception:
frame_changed, layout_changed = False, False
self.active_cameras = []
self.active_cameras = set()
self.camera_layout = []
print(traceback.format_exc())