@@ -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