Skip to content

Commit cf2ea62

Browse files
authored
gui: Fix UIManager not clearing the surface when label triggered a full render during a render cycle (#2552)
1 parent 23df106 commit cf2ea62

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

arcade/gui/ui_manager.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,9 @@ def _do_layout(self):
254254
def _do_render(self, force=False):
255255
layers = sorted(self.children.keys())
256256
force = force or self._requires_render
257+
# already reset here, so it can be set again in case during rendering a
258+
# widget requests a re-rendering like a UILabel updating its font
259+
self._requires_render = False
257260
for layer in layers:
258261
surface = self._get_surface(layer)
259262

@@ -267,8 +270,6 @@ def _do_render(self, force=False):
267270
for child in self.children[layer]:
268271
child._do_render(surface, force)
269272

270-
self._requires_render = False
271-
272273
def enable(self) -> None:
273274
"""Registers handler functions (`on_...`) to :py:attr:`arcade.gui.UIElement`
274275

0 commit comments

Comments
 (0)