diff --git a/system/ui/lib/application.py b/system/ui/lib/application.py index e3370a5f74bd38..41696d0c0ce11d 100644 --- a/system/ui/lib/application.py +++ b/system/ui/lib/application.py @@ -490,6 +490,11 @@ def height(self): def _handle_modal_overlay(self) -> bool: if self._modal_overlay.overlay: + # Send show event to Widget + if not self._modal_overlay_shown and hasattr(self._modal_overlay.overlay, 'show_event'): + self._modal_overlay.overlay.show_event() + self._modal_overlay_shown = True + if hasattr(self._modal_overlay.overlay, 'render'): result = self._modal_overlay.overlay.render(rl.Rectangle(0, 0, self.width, self.height)) elif callable(self._modal_overlay.overlay): @@ -497,11 +502,6 @@ def _handle_modal_overlay(self) -> bool: else: raise Exception - # Send show event to Widget - if not self._modal_overlay_shown and hasattr(self._modal_overlay.overlay, 'show_event'): - self._modal_overlay.overlay.show_event() - self._modal_overlay_shown = True - if result >= 0: # Clear the overlay and execute the callback original_modal = self._modal_overlay