diff --git a/platform/linuxbsd/x11/display_server_x11.cpp b/platform/linuxbsd/x11/display_server_x11.cpp index 4c5d9552e6..0972bf700e 100644 --- a/platform/linuxbsd/x11/display_server_x11.cpp +++ b/platform/linuxbsd/x11/display_server_x11.cpp @@ -2654,16 +2654,12 @@ void DisplayServerX11::cursor_set_custom_image(const Ref &p_cursor, Cu } Ref texture = p_cursor; + ERR_FAIL_COND(!texture.is_valid()); Ref atlas_texture = p_cursor; - Ref image; Size2i texture_size; Rect2i atlas_rect; - if (texture.is_valid()) { - image = texture->get_image(); - } - - if (!image.is_valid() && atlas_texture.is_valid()) { + if (atlas_texture.is_valid()) { texture = atlas_texture->get_atlas(); atlas_rect.size.width = texture->get_width(); @@ -2673,17 +2669,16 @@ void DisplayServerX11::cursor_set_custom_image(const Ref &p_cursor, Cu texture_size.width = atlas_texture->get_region().size.x; texture_size.height = atlas_texture->get_region().size.y; - } else if (image.is_valid()) { + } else { texture_size.width = texture->get_width(); texture_size.height = texture->get_height(); } - ERR_FAIL_COND(!texture.is_valid()); ERR_FAIL_COND(p_hotspot.x < 0 || p_hotspot.y < 0); ERR_FAIL_COND(texture_size.width > 256 || texture_size.height > 256); ERR_FAIL_COND(p_hotspot.x > texture_size.width || p_hotspot.y > texture_size.height); - image = texture->get_image(); + Ref image = texture->get_image(); ERR_FAIL_COND(!image.is_valid()); diff --git a/platform/macos/display_server_macos.mm b/platform/macos/display_server_macos.mm index 9ef1446ea3..ac3a861d84 100644 --- a/platform/macos/display_server_macos.mm +++ b/platform/macos/display_server_macos.mm @@ -3328,16 +3328,12 @@ void DisplayServerMacOS::cursor_set_custom_image(const Ref &p_cursor, } Ref texture = p_cursor; + ERR_FAIL_COND(!texture.is_valid()); Ref atlas_texture = p_cursor; - Ref image; Size2 texture_size; Rect2 atlas_rect; - if (texture.is_valid()) { - image = texture->get_image(); - } - - if (!image.is_valid() && atlas_texture.is_valid()) { + if (atlas_texture.is_valid()) { texture = atlas_texture->get_atlas(); atlas_rect.size.width = texture->get_width(); @@ -3347,17 +3343,16 @@ void DisplayServerMacOS::cursor_set_custom_image(const Ref &p_cursor, texture_size.width = atlas_texture->get_region().size.x; texture_size.height = atlas_texture->get_region().size.y; - } else if (image.is_valid()) { + } else { texture_size.width = texture->get_width(); texture_size.height = texture->get_height(); } - ERR_FAIL_COND(!texture.is_valid()); ERR_FAIL_COND(p_hotspot.x < 0 || p_hotspot.y < 0); ERR_FAIL_COND(texture_size.width > 256 || texture_size.height > 256); ERR_FAIL_COND(p_hotspot.x > texture_size.width || p_hotspot.y > texture_size.height); - image = texture->get_image(); + Ref image = texture->get_image(); ERR_FAIL_COND(!image.is_valid()); diff --git a/platform/web/display_server_web.cpp b/platform/web/display_server_web.cpp index 565d439a92..da55e8560a 100644 --- a/platform/web/display_server_web.cpp +++ b/platform/web/display_server_web.cpp @@ -398,16 +398,12 @@ void DisplayServerWeb::cursor_set_custom_image(const Ref &p_cursor, Cu ERR_FAIL_INDEX(p_shape, CURSOR_MAX); if (p_cursor.is_valid()) { Ref texture = p_cursor; + ERR_FAIL_COND(!texture.is_valid()); Ref atlas_texture = p_cursor; - Ref image; Size2 texture_size; Rect2 atlas_rect; - if (texture.is_valid()) { - image = texture->get_image(); - } - - if (!image.is_valid() && atlas_texture.is_valid()) { + if (atlas_texture.is_valid()) { texture = atlas_texture->get_atlas(); atlas_rect.size.width = texture->get_width(); @@ -417,17 +413,16 @@ void DisplayServerWeb::cursor_set_custom_image(const Ref &p_cursor, Cu texture_size.width = atlas_texture->get_region().size.x; texture_size.height = atlas_texture->get_region().size.y; - } else if (image.is_valid()) { + } else { texture_size.width = texture->get_width(); texture_size.height = texture->get_height(); } - ERR_FAIL_COND(!texture.is_valid()); ERR_FAIL_COND(p_hotspot.x < 0 || p_hotspot.y < 0); ERR_FAIL_COND(texture_size.width > 256 || texture_size.height > 256); ERR_FAIL_COND(p_hotspot.x > texture_size.width || p_hotspot.y > texture_size.height); - image = texture->get_image(); + Ref image = texture->get_image(); ERR_FAIL_COND(!image.is_valid()); diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp index 388a799c1c..6ff928580a 100644 --- a/platform/windows/display_server_windows.cpp +++ b/platform/windows/display_server_windows.cpp @@ -1755,36 +1755,30 @@ void DisplayServerWindows::cursor_set_custom_image(const Ref &p_cursor } Ref texture = p_cursor; + ERR_FAIL_COND(!texture.is_valid()); Ref atlas_texture = p_cursor; - Ref image; Size2 texture_size; Rect2 atlas_rect; - if (texture.is_valid()) { - image = texture->get_image(); - } - - if (!image.is_valid() && atlas_texture.is_valid()) { + if (atlas_texture.is_valid()) { texture = atlas_texture->get_atlas(); atlas_rect.size.width = texture->get_width(); atlas_rect.size.height = texture->get_height(); atlas_rect.position.x = atlas_texture->get_region().position.x; atlas_rect.position.y = atlas_texture->get_region().position.y; - texture_size.width = atlas_texture->get_region().size.x; texture_size.height = atlas_texture->get_region().size.y; - } else if (image.is_valid()) { + } else { texture_size.width = texture->get_width(); texture_size.height = texture->get_height(); } - ERR_FAIL_COND(!texture.is_valid()); ERR_FAIL_COND(p_hotspot.x < 0 || p_hotspot.y < 0); ERR_FAIL_COND(texture_size.width > 256 || texture_size.height > 256); ERR_FAIL_COND(p_hotspot.x > texture_size.width || p_hotspot.y > texture_size.height); - image = texture->get_image(); + Ref image = texture->get_image(); ERR_FAIL_COND(!image.is_valid());