Skip to content

Commit 9c9c2bf

Browse files
committed
Port view fix to wgpu backend
1 parent e1a0858 commit 9c9c2bf

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

src/wgpu/mod.rs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -764,19 +764,20 @@ impl Renderer {
764764
fn add_views(&mut self, views: &[ViewId]) {
765765
for id in views {
766766
let resources = self.resources.lock();
767-
let (s, pixels) = resources.get_snapshot(*id);
768-
let (w, h) = (s.width(), s.height());
767+
if let Some((s, pixels)) = resources.get_snapshot_safe(*id) {
768+
let (w, h) = (s.width(), s.height());
769769

770-
let view_data = ViewData::new(w, h, &self.framebuffer2d, &self.sprite2d, &self.r);
770+
let view_data = ViewData::new(w, h, &self.framebuffer2d, &self.sprite2d, &self.r);
771771

772-
debug_assert!(!pixels.is_empty());
773-
self.r.submit(&[
774-
Op::Clear(&view_data.fb, Bgra8::TRANSPARENT),
775-
Op::Clear(&view_data.staging_fb, Bgra8::TRANSPARENT),
776-
Op::Fill(&view_data.fb, &pixels.clone().into_bgra8()),
777-
]);
772+
debug_assert!(!pixels.is_empty());
773+
self.r.submit(&[
774+
Op::Clear(&view_data.fb, Bgra8::TRANSPARENT),
775+
Op::Clear(&view_data.staging_fb, Bgra8::TRANSPARENT),
776+
Op::Fill(&view_data.fb, &pixels.clone().into_bgra8()),
777+
]);
778778

779-
self.view_data.insert(*id, view_data);
779+
self.view_data.insert(*id, view_data);
780+
}
780781
}
781782
}
782783

0 commit comments

Comments
 (0)