diff --git a/src/tek.rs b/src/tek.rs index 780ddf5f..a2bac85e 100644 --- a/src/tek.rs +++ b/src/tek.rs @@ -1510,11 +1510,18 @@ mod draw { //).align_nw().draw(to)?; for (index, dsl) in mode.view.iter().enumerate() { - if let Err(e) = self.interpret(to, dsl) { - let src = &dsl.src().unwrap_or(Some("")).unwrap_or(""); - let message = format!("Mode: {:?}\n\nLayer: #{index}\n\nError: {e}\n\nSource:\n{}", &mode.name, &src); - *self.error.write().unwrap() = Some(message.into()); - return Err(e); + match self.interpret(to, dsl) { + Ok(Some(XYWH(.., w, h))) => { + self.size.0.store(w as usize, Relaxed); + self.size.1.store(h as usize, Relaxed); + }, + Err(e) => { + let src = &dsl.src().unwrap_or(Some("")).unwrap_or(""); + let message = format!("Mode: {:?}\n\nLayer: #{index}\n\nError: {e}\n\nSource:\n{}", &mode.name, &src); + *self.error.write().unwrap() = Some(message.into()); + return Err(e); + }, + _ => {} } }