diff options
| author | Isaac Freund <ifreund@ifreund.xyz> | 2021-07-25 22:22:46 +0200 |
|---|---|---|
| committer | Isaac Freund <ifreund@ifreund.xyz> | 2021-07-25 22:22:46 +0200 |
| commit | 988a4623ab9250701f3d95d8fe1fd4f4f4321c2f (patch) | |
| tree | 4151d1ec4275d750b04c58fea4a984c52673e828 | |
| parent | eab9c0901ab09040f362559d33e0391708c6db11 (diff) | |
| download | river-988a4623ab9250701f3d95d8fe1fd4f4f4321c2f.tar.gz river-988a4623ab9250701f3d95d8fe1fd4f4f4321c2f.tar.xz | |
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.
| -rw-r--r-- | river/XdgToplevel.zig | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/river/XdgToplevel.zig b/river/XdgToplevel.zig index 45bfcc8..bd55969 100644 --- a/river/XdgToplevel.zig +++ b/river/XdgToplevel.zig @@ -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; view.current = view.pending; 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(); server.input_manager.updateCursorState(); } |
