From 306fdab18e381f63ed58f8b1c56bf063ea562667 Mon Sep 17 00:00:00 2001 From: VALLONGOL Date: Tue, 17 Jun 2025 10:50:53 +0200 Subject: [PATCH] fix update map before update tracks --- flightmonitor/map/map_canvas_manager.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/flightmonitor/map/map_canvas_manager.py b/flightmonitor/map/map_canvas_manager.py index 6a4930b..22f4c45 100644 --- a/flightmonitor/map/map_canvas_manager.py +++ b/flightmonitor/map/map_canvas_manager.py @@ -113,6 +113,7 @@ class MapCanvasManager: self._canvas_overlay_id: Optional[int] = None self._placeholder_text_id: Optional[int] = None + self._is_awaiting_base_map: bool = False # --- Components --- self.map_service: BaseMapService = OpenStreetMapService() @@ -277,6 +278,7 @@ class MapCanvasManager: req_type = result.get("type") if req_type == RENDER_REQUEST_BASE_MAP: + self._is_awaiting_base_map = False self._clear_canvas_display_elements() self._base_map_photo_image = result.get("base_map_photo") self._overlay_photo_image = result.get("overlay_photo") @@ -322,11 +324,17 @@ class MapCanvasManager: req_id = self.map_render_manager.put_render_request(RENDER_REQUEST_BASE_MAP, params) if req_id is not None: + self._is_awaiting_base_map = True # <-- IMPOSTA LA FLAG self.map_render_manager.set_expected_gui_render_id(req_id) self._display_placeholder_text(f"Loading Map... Z{zoom_level}") self._current_center_lat_gui, self._current_center_lon_gui, self._current_zoom_gui = center_lat, center_lon, zoom_level def _request_overlay_render(self): + + if self._is_awaiting_base_map: # <-- CONTROLLA LA FLAG + logger.debug("Overlay render request skipped: awaiting new base map.") + return + if not self.map_render_manager.is_worker_alive() or not self._current_map_geo_bounds_gui: return