view: ensure saved buffers are always dropped
Currently if a view is moved from layout to fullscreen while a transaction involving that view is in progress the saved buffers are not dropped, which causes stale state to be rendered.
This commit is contained in:
parent
eab9c0901a
commit
988a4623ab
@ -272,6 +272,11 @@ fn handleCommit(listener: *wl.Listener(*wlr.Surface), surface: *wlr.Surface) voi
|
|||||||
const self_tags_changed = view.pending.tags != view.current.tags;
|
const self_tags_changed = view.pending.tags != view.current.tags;
|
||||||
view.current = view.pending;
|
view.current = view.pending;
|
||||||
if (self_tags_changed) view.output.sendViewTags();
|
if (self_tags_changed) view.output.sendViewTags();
|
||||||
|
|
||||||
|
// This is necessary if this view was part of a transaction that didn't get completed
|
||||||
|
// before some change occured that caused shouldTrackConfigure() to return false.
|
||||||
|
view.dropSavedBuffers();
|
||||||
|
|
||||||
view.output.damage.addWhole();
|
view.output.damage.addWhole();
|
||||||
server.input_manager.updateCursorState();
|
server.input_manager.updateCursorState();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user