diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-01-19 09:13:32 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-01-19 09:13:32 +0400 |
| commit | 475b3df2b5bd660f9137cf28b6de571d4dad90e6 (patch) | |
| tree | b6e7af30a69be765ad4ca7eff5a33ea05ca1197f /src/niri.rs | |
| parent | 1541835f00089ce19af289643dd517c48f5beba9 (diff) | |
| download | niri-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.rs | 23 |
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) } |
