XdgToplevel: don't update geometry if configure inflight
This commit is contained in:
		@ -319,11 +319,11 @@ fn handleCommit(listener: *wl.Listener(*wlr.Surface), _: *wlr.Surface) void {
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const old_geometry = toplevel.geometry;
 | 
			
		||||
    toplevel.wlr_toplevel.base.getGeometry(&toplevel.geometry);
 | 
			
		||||
 | 
			
		||||
    switch (toplevel.configure_state) {
 | 
			
		||||
        .idle, .committed, .timed_out => {
 | 
			
		||||
            const old_geometry = toplevel.geometry;
 | 
			
		||||
            toplevel.wlr_toplevel.base.getGeometry(&toplevel.geometry);
 | 
			
		||||
 | 
			
		||||
            const size_changed = toplevel.geometry.width != old_geometry.width or
 | 
			
		||||
                toplevel.geometry.height != old_geometry.height;
 | 
			
		||||
            const no_layout = view.current.output != null and view.current.output.?.layout == null;
 | 
			
		||||
@ -360,6 +360,8 @@ fn handleCommit(listener: *wl.Listener(*wlr.Surface), _: *wlr.Surface) void {
 | 
			
		||||
        // stashed buffer from when the transaction started.
 | 
			
		||||
        .inflight => view.sendFrameDone(),
 | 
			
		||||
        .acked, .timed_out_acked => {
 | 
			
		||||
            toplevel.wlr_toplevel.base.getGeometry(&toplevel.geometry);
 | 
			
		||||
 | 
			
		||||
            if (view.inflight.resizing) {
 | 
			
		||||
                view.resizeUpdatePosition(toplevel.geometry.width, toplevel.geometry.height);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user