@ -196,15 +196,16 @@ function UIManager:close(widget, refreshtype, refreshregion, refreshdither)
table.remove(self._window_stack,i)
dirty=true
else
ifnotis_coveredthen
-- If anything else on the stack not already hidden by (i.e., below) a fullscreen widget was dithered, honor the hint
ifw.dithered andnotis_covered then
ifw.dithered then
refreshdither=true
logger.dbg("Lower widget",w.nameorw.idortostring(w),"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.
ifnotis_coveredandw.covers_fullscreenthen
ifw.covers_fullscreenthen
is_covered=true
start_idx=i
logger.dbg("Lower widget",w.nameorw.idortostring(w),"covers the full screen")
@ -212,6 +213,7 @@ function UIManager:close(widget, refreshtype, refreshregion, refreshdither)