fix: try page-flip without tearing when the output test fails

This commit is contained in:
Ricardo Steijn 2024-07-06 22:43:02 +02:00
parent 0b0d979f1e
commit 81e67e18bb

View file

@ -303,9 +303,15 @@ static int output_repaint_timer_handler(void *data) {
pending.tearing_page_flip = true; pending.tearing_page_flip = true;
if (!wlr_output_test_state(output->wlr_output, &pending)) { if (!wlr_output_test_state(output->wlr_output, &pending)) {
output->allow_tearing = false; sway_log(SWAY_ERROR, "Output test failed on '%s', retrying without tearing page-flip",
wlr_output_state_finish(&pending); output->wlr_output->name);
return 0;
pending.tearing_page_flip = false;
if (!wlr_output_test_state(output->wlr_output, &pending)) {
wlr_output_state_finish(&pending);
return 0;
}
} }
} }