make sure to fail setting gamma on disabled outputs

This commit is contained in:
Ilia Bozhinov 2020-08-03 11:48:27 +02:00 committed by Simon Ser
parent aaf490d794
commit 0032954c75
2 changed files with 5 additions and 0 deletions

View File

@ -108,6 +108,7 @@ static void gamma_control_handle_set_gamma(struct wl_client *client,
wlr_output_set_gamma(gamma_control->output, ramp_size, r, g, b); wlr_output_set_gamma(gamma_control->output, ramp_size, r, g, b);
if (!wlr_output_test(gamma_control->output)) { if (!wlr_output_test(gamma_control->output)) {
gamma_control_send_failed(gamma_control); gamma_control_send_failed(gamma_control);
wlr_output_rollback(gamma_control->output);
goto error_table; goto error_table;
} }
free(table); free(table);

View File

@ -551,6 +551,10 @@ static bool output_basic_test(struct wlr_output *output) {
wlr_log(WLR_DEBUG, "Tried to enable adaptive sync on a disabled output"); wlr_log(WLR_DEBUG, "Tried to enable adaptive sync on a disabled output");
return false; return false;
} }
if (!enabled && output->pending.committed & WLR_OUTPUT_STATE_GAMMA_LUT) {
wlr_log(WLR_DEBUG, "Tried to set the gamma lut on a disabled output");
return false;
}
return true; return true;
} }