@@ -152,10 +152,11 @@ impl GlRenderer {
152152 . downcast_mut :: < RenderCanvas > ( )
153153 . expect ( "Canvas object from window was unexpected type!" ) ;
154154
155- canvas. get_viewports_2d ( ) . sort_by_key ( |vp| vp. get_z_index ( ) ) ;
155+ let mut viewports = canvas. get_viewports_2d_mut ( ) ;
156+ viewports. sort_by_key ( |vp| vp. get_z_index ( ) ) ;
156157
157158 // initial render pass
158- for viewport in canvas . get_viewports_2d_mut ( ) {
159+ for viewport in & mut viewports {
159160 draw_scene_2d_to_framebuffer ( & mut self . state , viewport, & resolution) ;
160161 }
161162
@@ -174,12 +175,11 @@ impl GlRenderer {
174175 //
175176 // In effect, the lightmap of a given viewport A will be applied to all
176177 // viewports behind A.
177- let viewports = canvas. get_viewports_2d ( ) ;
178178 for target_idx in 0 ..viewports. len ( ) {
179- let target_viewport = viewports[ target_idx] ;
179+ let target_viewport = & viewports[ target_idx] ;
180180
181181 for src_idx in target_idx..viewports. len ( ) {
182- let source_viewport = viewports[ src_idx] ;
182+ let source_viewport = & viewports[ src_idx] ;
183183 let source_scene_id = source_viewport. get_scene_id ( ) ;
184184 let source_scene = get_render_context_2d ( ) . get_scene ( source_scene_id) . unwrap ( ) ;
185185 if !source_scene. is_lighting_enabled ( ) {
@@ -190,7 +190,7 @@ impl GlRenderer {
190190 source_viewport. get_id ( ) ,
191191 target_viewport. get_id ( ) ,
192192 target_viewport. get_viewport ( ) ,
193- & resolution. value ,
193+ & resolution. value ,
194194 ) ;
195195 }
196196 }
0 commit comments