浏览代码

Merge pull request #41845 from madmiraal/clarify-comparison

Clarify comparison when enabling or disabling canvas_item copy_back_buffer buffer.
Rémi Verschelde 5 年之前
父节点
当前提交
bc23899fb4
共有 1 个文件被更改,包括 6 次插入7 次删除
  1. 6 7
      servers/rendering/rendering_server_canvas.cpp

+ 6 - 7
servers/rendering/rendering_server_canvas.cpp

@@ -900,13 +900,12 @@ void RenderingServerCanvas::canvas_item_attach_skeleton(RID p_item, RID p_skelet
 void RenderingServerCanvas::canvas_item_set_copy_to_backbuffer(RID p_item, bool p_enable, const Rect2 &p_rect) {
 void RenderingServerCanvas::canvas_item_set_copy_to_backbuffer(RID p_item, bool p_enable, const Rect2 &p_rect) {
 	Item *canvas_item = canvas_item_owner.getornull(p_item);
 	Item *canvas_item = canvas_item_owner.getornull(p_item);
 	ERR_FAIL_COND(!canvas_item);
 	ERR_FAIL_COND(!canvas_item);
-	if (bool(canvas_item->copy_back_buffer != nullptr) != p_enable) {
-		if (p_enable) {
-			canvas_item->copy_back_buffer = memnew(RasterizerCanvas::Item::CopyBackBuffer);
-		} else {
-			memdelete(canvas_item->copy_back_buffer);
-			canvas_item->copy_back_buffer = nullptr;
-		}
+	if (p_enable && (canvas_item->copy_back_buffer == nullptr)) {
+		canvas_item->copy_back_buffer = memnew(RasterizerCanvas::Item::CopyBackBuffer);
+	}
+	if (!p_enable && (canvas_item->copy_back_buffer != nullptr)) {
+		memdelete(canvas_item->copy_back_buffer);
+		canvas_item->copy_back_buffer = nullptr;
 	}
 	}
 
 
 	if (p_enable) {
 	if (p_enable) {