From a44020ac517c34d381c72563e848a8f8ebde96c6 Mon Sep 17 00:00:00 2001 From: Dima <Dmytro.Rets@Gamesys.co.uk> Date: Wed, 27 Dec 2023 22:01:29 +0000 Subject: [PATCH] Check for a window before calling single() --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/cursor.rs | 6 ++++++ src/input.rs | 4 ++++ src/render.rs | 7 +++++++ 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a434b4c..359e072 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -441,7 +441,7 @@ dependencies = [ [[package]] name = "bevy_cosmic_edit" -version = "0.15.2" +version = "0.15.3" dependencies = [ "arboard", "bevy", diff --git a/Cargo.toml b/Cargo.toml index 991e0e9..1539253 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bevy_cosmic_edit" -version = "0.15.2" +version = "0.15.3" edition = "2021" license = "MIT OR Apache-2.0" description = "Bevy cosmic-text multiline text input" diff --git a/src/cursor.rs b/src/cursor.rs index 7c09799..f5f91e7 100644 --- a/src/cursor.rs +++ b/src/cursor.rs @@ -21,6 +21,9 @@ pub fn change_cursor( mouse_buttons: Res<Input<MouseButton>>, mut windows: Query<&mut Window, With<PrimaryWindow>>, ) { + if windows.iter().len() == 0 { + return; + } let mut window = windows.single_mut(); if !evr_hover_in.is_empty() { window.cursor.icon = CursorIcon::Text; @@ -53,6 +56,9 @@ pub fn hover_sprites( mut evw_hover_out: EventWriter<TextHoverOut>, ) { *hovered = false; + if windows.iter().len() == 0 { + return; + } let window = windows.single(); let (camera, camera_transform) = camera_q.single(); for (sprite, visibility, node_transform) in &mut cosmic_edit_query.iter_mut() { diff --git a/src/input.rs b/src/input.rs index 396bb1b..d5d6568 100644 --- a/src/input.rs +++ b/src/input.rs @@ -83,6 +83,10 @@ pub(crate) fn input_mouse( *click_count = 0; } + if windows.iter().len() == 0 { + return; + } + let primary_window = windows.single(); let scale_factor = primary_window.scale_factor() as f32; let (camera, camera_transform) = camera_q.iter().find(|(c, _)| c.is_active).unwrap(); diff --git a/src/render.rs b/src/render.rs index d2a8353..58456ed 100644 --- a/src/render.rs +++ b/src/render.rs @@ -76,6 +76,9 @@ pub(crate) fn cosmic_widget_size( mut query: Query<(&mut CosmicWidgetSize, &Sprite), Changed<Sprite>>, windows: Query<&Window, With<PrimaryWindow>>, ) { + if windows.iter().len() == 0 { + return; + } let scale = windows.single().scale_factor() as f32; for (mut size, sprite) in query.iter_mut() { size.0 = sprite.custom_size.unwrap().ceil() * scale; @@ -278,6 +281,10 @@ pub(crate) fn auto_height( mut style_q: Query<(&mut Style, &CosmicSource)>, windows: Query<&Window, With<PrimaryWindow>>, ) { + if windows.iter().len() == 0 { + return; + } + let scale = windows.single().scale_factor() as f32; for (entity, mut sprite, mode, mut cosmic_editor, size) in query.iter_mut() { -- GitLab