From 589306a9d81c8d63c86269c53990c52fb6d1b503 Mon Sep 17 00:00:00 2001 From: Ninni Pipping Date: Thu, 18 May 2023 19:22:23 +0200 Subject: Make `TouchScreenButton` connections reference counted Prevents errors when assigning the same texture to both slots (cherry picked from commit 0648cc65b2c9bd8a48f3da74ea2c17898cd2b425) --- scene/2d/touch_screen_button.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'scene') diff --git a/scene/2d/touch_screen_button.cpp b/scene/2d/touch_screen_button.cpp index 4c8c4f1e16..7da2fc3cb3 100644 --- a/scene/2d/touch_screen_button.cpp +++ b/scene/2d/touch_screen_button.cpp @@ -42,7 +42,7 @@ void TouchScreenButton::set_texture_normal(const Ref &p_texture) { } texture_normal = p_texture; if (texture_normal.is_valid()) { - texture_normal->connect(SceneStringNames::get_singleton()->changed, callable_mp((CanvasItem *)this, &CanvasItem::queue_redraw)); + texture_normal->connect(SceneStringNames::get_singleton()->changed, callable_mp((CanvasItem *)this, &CanvasItem::queue_redraw), CONNECT_REFERENCE_COUNTED); } queue_redraw(); } @@ -60,7 +60,7 @@ void TouchScreenButton::set_texture_pressed(const Ref &p_texture_pres } texture_pressed = p_texture_pressed; if (texture_pressed.is_valid()) { - texture_pressed->connect(SceneStringNames::get_singleton()->changed, callable_mp((CanvasItem *)this, &CanvasItem::queue_redraw)); + texture_pressed->connect(SceneStringNames::get_singleton()->changed, callable_mp((CanvasItem *)this, &CanvasItem::queue_redraw), CONNECT_REFERENCE_COUNTED); } queue_redraw(); } -- cgit v1.2.3