cursor: add missing maybeResetState() callsite
This function needs to be called whenever pending state is made current, which includes when views not tracked by the transaction system commit.
This commit is contained in:
parent
f86291169e
commit
36ce81bb67
@ -178,6 +178,11 @@ pub fn inputAllowed(self: Self, wlr_surface: *wlr.Surface) bool {
|
||||
true;
|
||||
}
|
||||
|
||||
pub fn maybeResetCursorState(self: Self) void {
|
||||
var it = self.seats.first;
|
||||
while (it) |node| : (it = node.next) node.data.cursor.maybeResetState();
|
||||
}
|
||||
|
||||
fn handleInhibitActivate(
|
||||
listener: *wl.Listener(*wlr.InputInhibitManager),
|
||||
input_inhibit_manager: *wlr.InputInhibitManager,
|
||||
|
@ -405,11 +405,7 @@ fn commitTransaction(self: *Self) void {
|
||||
|
||||
output.damage.addWhole();
|
||||
}
|
||||
|
||||
var seat_it = server.input_manager.seats.first;
|
||||
while (seat_it) |seat_node| : (seat_it = seat_node.next) {
|
||||
seat_node.data.cursor.maybeResetState();
|
||||
}
|
||||
server.input_manager.maybeResetCursorState();
|
||||
}
|
||||
|
||||
/// Send the new output configuration to all wlr-output-manager clients
|
||||
|
@ -273,6 +273,7 @@ fn handleCommit(listener: *wl.Listener(*wlr.Surface), surface: *wlr.Surface) voi
|
||||
view.current = view.pending;
|
||||
if (self_tags_changed) view.output.sendViewTags();
|
||||
view.output.damage.addWhole();
|
||||
server.input_manager.maybeResetCursorState();
|
||||
}
|
||||
} else {
|
||||
// If the client has not yet acked our configure, we need to send a
|
||||
|
Loading…
Reference in New Issue
Block a user