From cab065bad4302e4df427ffbafcdb112e755321ce Mon Sep 17 00:00:00 2001 From: ickshonpe Date: Fri, 20 Jan 2023 01:05:30 +0000 Subject: [PATCH] remove the image loaded check for nodes without images in extract_uinodes (#7280) ## Problem `extract_uinodes` checks if an image is loaded for nodes without images ## Solution Move the image loading skip check so that it is only performed for nodes with a `UiImage` component. --- crates/bevy_ui/src/render/mod.rs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/crates/bevy_ui/src/render/mod.rs b/crates/bevy_ui/src/render/mod.rs index 9ca3aed824..17d6719b4a 100644 --- a/crates/bevy_ui/src/render/mod.rs +++ b/crates/bevy_ui/src/render/mod.rs @@ -203,22 +203,20 @@ pub fn extract_uinodes( if let Ok((uinode, transform, color, maybe_image, visibility, clip)) = uinode_query.get(*entity) { - if !visibility.is_visible() { + // Skip invisible and completely transparent nodes + if !visibility.is_visible() || color.0.a() == 0.0 { continue; } + let (image, flip_x, flip_y) = if let Some(image) = maybe_image { + // Skip loading images + if !images.contains(&image.texture) { + continue; + } (image.texture.clone_weak(), image.flip_x, image.flip_y) } else { (DEFAULT_IMAGE_HANDLE.typed().clone_weak(), false, false) }; - // Skip loading images - if !images.contains(&image) { - continue; - } - // Skip completely transparent nodes - if color.0.a() == 0.0 { - continue; - } extracted_uinodes.uinodes.push(ExtractedUiNode { stack_index,