* When closing a widget, stop sending setDirty call for widgets lower on
the stack as soon as we hit a full-screen one.
This prevents inflated refresh regions when closing stuff on top of a
stack of multiple covers_fullscreen widgets (i.e., InfoMessages on top
of the Favorites page on top of the FM, for instance).
And, while we're there, also prevent getting infected by dithered
widgets when they're below a non dithered full-screen widget (the exact
same examples works, if the underlying FM page requires dithering).
logger.dbg("Lower widget",self._window_stack[i].widget.nameorself._window_stack[i].widget.idortostring(self._window_stack[i].widget),"was dithered, honoring the dithering hint")
end
-- Remember the uppermost widget that covers the full screen, so we don't bother calling setDirty on hidden (i.e., lower) widgets in the following dirty loop.
-- _repaint already does that later on to skip the actual paintTo calls, so this ensures we limit the refresh queue to stuff that will actually get painted.
logger.dbg("Lower widget",self._window_stack[i].widget.nameorself._window_stack[i].widget.idortostring(self._window_stack[i].widget),"covers the full screen")