Browse Source

Add early return when setting `transparent_bg`

Fix memory leak on Mac.
Markus Sauermann 1 year ago
parent
commit
d14a84a166
1 changed files with 3 additions and 0 deletions
  1. 3 0
      servers/rendering/renderer_viewport.cpp

+ 3 - 0
servers/rendering/renderer_viewport.cpp

@@ -1191,6 +1191,9 @@ void RendererViewport::viewport_set_canvas_transform(RID p_viewport, RID p_canva
 void RendererViewport::viewport_set_transparent_background(RID p_viewport, bool p_enabled) {
 	Viewport *viewport = viewport_owner.get_or_null(p_viewport);
 	ERR_FAIL_NULL(viewport);
+	if (viewport->transparent_bg == p_enabled) {
+		return;
+	}
 
 	RSG::texture_storage->render_target_set_transparent(viewport->render_target, p_enabled);
 	viewport->transparent_bg = p_enabled;