diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-09-07 13:20:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-07 13:20:35 +0200 |
commit | bc23899fb44a91fca2b70315fe77fc5ae704586b (patch) | |
tree | b469e66680aad99ff3a1396918919cef056d406d /servers/rendering/rendering_server_canvas.cpp | |
parent | b4a831b42e1c79b0edb729174564289aaa3e4dd5 (diff) | |
parent | 08bedf68ff053cfb2434cc7ead4b28433c94c2c5 (diff) | |
download | redot-engine-bc23899fb44a91fca2b70315fe77fc5ae704586b.tar.gz |
Merge pull request #41845 from madmiraal/clarify-comparison
Clarify comparison when enabling or disabling canvas_item copy_back_buffer buffer.
Diffstat (limited to 'servers/rendering/rendering_server_canvas.cpp')
-rw-r--r-- | servers/rendering/rendering_server_canvas.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/servers/rendering/rendering_server_canvas.cpp b/servers/rendering/rendering_server_canvas.cpp index 5c0741bb3b..07eabfd430 100644 --- a/servers/rendering/rendering_server_canvas.cpp +++ b/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) { Item *canvas_item = canvas_item_owner.getornull(p_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) { |