aboutsummaryrefslogtreecommitdiff
path: root/src/niri.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-01-19 09:13:32 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-01-19 09:13:32 +0400
commit475b3df2b5bd660f9137cf28b6de571d4dad90e6 (patch)
treeb6e7af30a69be765ad4ca7eff5a33ea05ca1197f /src/niri.rs
parent1541835f00089ce19af289643dd517c48f5beba9 (diff)
downloadniri-475b3df2b5bd660f9137cf28b6de571d4dad90e6.tar.gz
niri-475b3df2b5bd660f9137cf28b6de571d4dad90e6.tar.bz2
niri-475b3df2b5bd660f9137cf28b6de571d4dad90e6.zip
Don't crash when failing to render a cursor
I only hit this when the renderer was completely busted, but nevertheless.
Diffstat (limited to 'src/niri.rs')
-rw-r--r--src/niri.rs23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/niri.rs b/src/niri.rs
index 94a2056f..dc1efd87 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -1660,16 +1660,19 @@ impl Niri {
idx,
);
- let pointer_elements = vec![OutputRenderElements::NamedPointer(
- PrimaryGpuTextureRenderElement(TextureRenderElement::from_texture_buffer(
- pointer_pos.to_f64(),
- &texture,
- None,
- None,
- None,
- Kind::Cursor,
- )),
- )];
+ let mut pointer_elements = vec![];
+ if let Some(texture) = texture {
+ pointer_elements.push(OutputRenderElements::NamedPointer(
+ PrimaryGpuTextureRenderElement(TextureRenderElement::from_texture_buffer(
+ pointer_pos.to_f64(),
+ &texture,
+ None,
+ None,
+ None,
+ Kind::Cursor,
+ )),
+ ));
+ }
(pointer_elements, pointer_pos)
}