11use crate :: {
22 backend_interface:: * ,
33 error:: { InitError , SwResultExt } ,
4- util:: BorrowStack ,
54 Rect , SoftBufferError ,
65} ;
76use raw_window_handle:: { HasDisplayHandle , HasWindowHandle , RawDisplayHandle , RawWindowHandle } ;
@@ -193,7 +192,7 @@ impl<D: HasDisplayHandle + ?Sized, W: HasWindowHandle> SurfaceInterface<D, W>
193192 event_queue : & self . display . event_queue ,
194193 surface : self . surface . as_ref ( ) . unwrap ( ) ,
195194 front,
196- back : BorrowStack :: new ( back , |buffer| buffer . mapped_mut ( ) ) ,
195+ back,
197196 width,
198197 height,
199198 age,
@@ -213,7 +212,7 @@ pub struct BufferImpl<'a> {
213212 event_queue : & ' a Mutex < EventQueue < State > > ,
214213 surface : & ' a wl_surface:: WlSurface ,
215214 front : & ' a mut WaylandBuffer ,
216- back : BorrowStack < ' a , WaylandBuffer , [ u32 ] > ,
215+ back : & ' a mut WaylandBuffer ,
217216 width : i32 ,
218217 height : i32 ,
219218 age : u8 ,
@@ -230,7 +229,7 @@ impl BufferInterface for BufferImpl<'_> {
230229
231230 #[ inline]
232231 fn pixels_mut ( & mut self ) -> & mut [ u32 ] {
233- self . back . member_mut ( )
232+ self . back . mapped_mut ( )
234233 }
235234
236235 fn age ( & self ) -> u8 {
@@ -244,14 +243,12 @@ impl BufferInterface for BufferImpl<'_> {
244243 . unwrap_or_else ( |x| x. into_inner ( ) )
245244 . dispatch_pending ( & mut State ) ;
246245
247- let back = self . back . into_container ( ) ;
248-
249246 // Swap front and back buffer
250- std:: mem:: swap ( self . front , back) ;
247+ std:: mem:: swap ( self . front , self . back ) ;
251248
252249 self . front . age = 1 ;
253- if back. age != 0 {
254- back. age += 1 ;
250+ if self . back . age != 0 {
251+ self . back . age += 1 ;
255252 }
256253
257254 self . front . attach ( self . surface ) ;
0 commit comments