diff --git a/modules/csg/csg_shape.cpp b/modules/csg/csg_shape.cpp index 7d3c02a39ed..bc2d037d401 100644 --- a/modules/csg/csg_shape.cpp +++ b/modules/csg/csg_shape.cpp @@ -136,18 +136,13 @@ void CSGShape::_make_dirty() { if (!is_inside_tree()) return; - if (dirty) { - return; + if (parent) { + parent->_make_dirty(); + } else if (!dirty) { + call_deferred("_update_shape"); } dirty = true; - - if (parent) { - parent->_make_dirty(); - } else { - //only parent will do - call_deferred("_update_shape"); - } } CSGBrush *CSGShape::_get_brush() {