mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 04:45:58 +01:00
wlr_output_state: Consider gamma_lut uninitialized if not committed
This commit is contained in:
parent
b80e67d6e6
commit
a09bb1314d
1 changed files with 8 additions and 2 deletions
|
@ -14,7 +14,9 @@ void wlr_output_state_finish(struct wlr_output_state *state) {
|
||||||
if (state->committed & WLR_OUTPUT_STATE_DAMAGE) {
|
if (state->committed & WLR_OUTPUT_STATE_DAMAGE) {
|
||||||
pixman_region32_fini(&state->damage);
|
pixman_region32_fini(&state->damage);
|
||||||
}
|
}
|
||||||
free(state->gamma_lut);
|
if (state->committed & WLR_OUTPUT_STATE_GAMMA_LUT) {
|
||||||
|
free(state->gamma_lut);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void wlr_output_state_set_enabled(struct wlr_output_state *state,
|
void wlr_output_state_set_enabled(struct wlr_output_state *state,
|
||||||
|
@ -97,7 +99,11 @@ bool wlr_output_state_set_gamma_lut(struct wlr_output_state *state,
|
||||||
size_t ramp_size, const uint16_t *r, const uint16_t *g, const uint16_t *b) {
|
size_t ramp_size, const uint16_t *r, const uint16_t *g, const uint16_t *b) {
|
||||||
uint16_t *gamma_lut = NULL;
|
uint16_t *gamma_lut = NULL;
|
||||||
if (ramp_size > 0) {
|
if (ramp_size > 0) {
|
||||||
gamma_lut = realloc(state->gamma_lut, 3 * ramp_size * sizeof(uint16_t));
|
if (state->committed & WLR_OUTPUT_STATE_GAMMA_LUT) {
|
||||||
|
gamma_lut = realloc(state->gamma_lut, 3 * ramp_size * sizeof(uint16_t));
|
||||||
|
} else {
|
||||||
|
gamma_lut = malloc(3 * ramp_size * sizeof(uint16_t));
|
||||||
|
}
|
||||||
if (gamma_lut == NULL) {
|
if (gamma_lut == NULL) {
|
||||||
wlr_log_errno(WLR_ERROR, "Allocation failed");
|
wlr_log_errno(WLR_ERROR, "Allocation failed");
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in a new issue