diff --git a/scene/main/canvas_item.cpp b/scene/main/canvas_item.cpp index c0386b056f76..c33d9ec928de 100644 --- a/scene/main/canvas_item.cpp +++ b/scene/main/canvas_item.cpp @@ -259,7 +259,6 @@ void CanvasItem::_enter_canvas() { } } - pending_update = false; queue_redraw(); notification(NOTIFICATION_ENTER_CANVAS); @@ -273,6 +272,8 @@ void CanvasItem::_exit_canvas() { remove_from_group(canvas_group); canvas_group = StringName(); } + // Clear pending update in case node is manipulated during a _draw call. + pending_update = false; } void CanvasItem::_notification(int p_what) {