From c0c20c0748bfd5986ce831696cdb3203c70206dc Mon Sep 17 00:00:00 2001
From: Nathan Wilson <wilnathan@gmail.com>
Date: Sun, 15 Sep 2024 10:22:48 -0400
Subject: [PATCH] =?UTF-8?q?Check=20for=20an=20error=20in=20querying=20for?=
 =?UTF-8?q?=20a=20window=20before=20trying=20to=20find=20sca=E2=80=A6=20(#?=
 =?UTF-8?q?161)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Check for an error in querying for a window before trying to find scale factor.

* Use method that returns Result rather than method that panics.
---
 src/buffer.rs | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/buffer.rs b/src/buffer.rs
index 6ef7451..88ae227 100644
--- a/src/buffer.rs
+++ b/src/buffer.rs
@@ -210,11 +210,13 @@ pub fn set_initial_scale(
     mut cosmic_query: Query<&mut CosmicBuffer, Added<CosmicBuffer>>,
     mut font_system: ResMut<CosmicFontSystem>,
 ) {
-    let w_scale = window_q.single().scale_factor();
+    if let Ok(window) = window_q.get_single() {
+        let w_scale = window.scale_factor();
 
-    for mut b in &mut cosmic_query.iter_mut() {
-        let m = b.metrics().scale(w_scale);
-        b.set_metrics(&mut font_system, m);
+        for mut b in &mut cosmic_query.iter_mut() {
+            let m = b.metrics().scale(w_scale);
+            b.set_metrics(&mut font_system, m);
+        }
     }
 }
 
-- 
GitLab