output: reset the pending state on failed commit

It can be surprising for callers to stash pending changes, commit, get a
failure, then set some other pending changes, commit again, and get another
failure because of the previously-pending changes.

Instead, make commit reset the pending state on failure.
This commit is contained in:
Simon Ser 2019-06-16 10:19:34 +03:00 committed by Drew DeVault
parent 06a13203dd
commit 33127c545b

View File

@ -472,6 +472,7 @@ bool wlr_output_commit(struct wlr_output *output) {
wlr_signal_emit_safe(&output->events.precommit, &event);
if (!output->impl->commit(output)) {
output_state_clear(&output->pending);
return false;
}