diff options
| author | Christian Meissl <meissl.christian@gmail.com> | 2024-07-05 21:49:08 +0200 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-07-08 08:30:00 +0300 |
| commit | 570bf1cb3c1f9ffc847359009c6061e062c72871 (patch) | |
| tree | f087b302e1f25c61556170735fe9a70fe14ce9bb /src/render_helpers | |
| parent | 6ec9c72539684ed409427649a11837ab56a0250c (diff) | |
| download | niri-570bf1cb3c1f9ffc847359009c6061e062c72871.tar.gz niri-570bf1cb3c1f9ffc847359009c6061e062c72871.tar.bz2 niri-570bf1cb3c1f9ffc847359009c6061e062c72871.zip | |
bump smithay
Diffstat (limited to 'src/render_helpers')
| -rw-r--r-- | src/render_helpers/renderer.rs | 4 | ||||
| -rw-r--r-- | src/render_helpers/surface.rs | 12 |
2 files changed, 7 insertions, 9 deletions
diff --git a/src/render_helpers/renderer.rs b/src/render_helpers/renderer.rs index 5c483182..f4872738 100644 --- a/src/render_helpers/renderer.rs +++ b/src/render_helpers/renderer.rs @@ -17,7 +17,7 @@ pub trait NiriRenderer: + AsGlesRenderer { // Associated types to work around the instability of associated type bounds. - type NiriTextureId: Texture + Clone + 'static; + type NiriTextureId: Texture + Clone + Send + 'static; type NiriError: std::error::Error + Send + Sync @@ -28,7 +28,7 @@ pub trait NiriRenderer: impl<R> NiriRenderer for R where R: ImportAll + ImportMem + ExportMem + Bind<Dmabuf> + Offscreen<GlesTexture> + AsGlesRenderer, - R::TextureId: Texture + Clone + 'static, + R::TextureId: Texture + Clone + Send + 'static, R::Error: std::error::Error + Send + Sync + From<<GlesRenderer as Renderer>::Error> + 'static, { type NiriTextureId = R::TextureId; diff --git a/src/render_helpers/surface.rs b/src/render_helpers/surface.rs index 93738673..96065923 100644 --- a/src/render_helpers/surface.rs +++ b/src/render_helpers/surface.rs @@ -25,7 +25,7 @@ pub fn render_snapshot_from_surface_tree( let data = states.data_map.get::<RendererSurfaceStateUserData>(); if let Some(data) = data { - let data = &*data.borrow(); + let data = &*data.lock().unwrap(); if let Some(view) = data.view() { location += view.offset.to_f64(); @@ -42,19 +42,17 @@ pub fn render_snapshot_from_surface_tree( let data = states.data_map.get::<RendererSurfaceStateUserData>(); if let Some(data) = data { - if let Some(view) = data.borrow().view() { - location += view.offset.to_f64(); - } else { + let Some(view) = data.lock().unwrap().view() else { return; - } + }; + location += view.offset.to_f64(); if let Err(err) = import_surface(renderer, states) { warn!("failed to import surface: {err:?}"); return; } - let data = data.borrow(); - let view = data.view().unwrap(); + let data = data.lock().unwrap(); let Some(texture) = data.texture::<GlesRenderer>(renderer.id()) else { return; }; |
