mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-25 22:25:58 +01:00
output: Mutate frame_pending needs_frame when there is an explicit output commit
These states would be set if output_init is invoked with a enabled state. This would make frame_pending == true which means wlroots will ignore any further frame events and the compositor will appear dead.
This commit is contained in:
parent
5aea90264f
commit
6c54c34713
1 changed files with 6 additions and 5 deletions
|
@ -319,11 +319,6 @@ static void output_apply_state(struct wlr_output *output,
|
||||||
output->cursor_swapchain = NULL;
|
output->cursor_swapchain = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (output_pending_enabled(output, state)) {
|
|
||||||
output->frame_pending = true;
|
|
||||||
output->needs_frame = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (state->committed & WLR_OUTPUT_STATE_LAYERS) {
|
if (state->committed & WLR_OUTPUT_STATE_LAYERS) {
|
||||||
for (size_t i = 0; i < state->layers_len; i++) {
|
for (size_t i = 0; i < state->layers_len; i++) {
|
||||||
struct wlr_output_layer_state *layer_state = &state->layers[i];
|
struct wlr_output_layer_state *layer_state = &state->layers[i];
|
||||||
|
@ -825,6 +820,12 @@ bool wlr_output_commit_state(struct wlr_output *output,
|
||||||
}
|
}
|
||||||
|
|
||||||
output->commit_seq++;
|
output->commit_seq++;
|
||||||
|
|
||||||
|
if (output_pending_enabled(output, state)) {
|
||||||
|
output->frame_pending = true;
|
||||||
|
output->needs_frame = false;
|
||||||
|
}
|
||||||
|
|
||||||
output_apply_state(output, &pending);
|
output_apply_state(output, &pending);
|
||||||
|
|
||||||
struct wlr_output_event_commit event = {
|
struct wlr_output_event_commit event = {
|
||||||
|
|
Loading…
Reference in a new issue