mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2024-11-27 17:42:20 +00:00
scene: update output geom on commit after dropping pending damage
Otherwise the whole output damage gets ignored.
This commit is contained in:
parent
098cb9b7a3
commit
62cc96b3a4
@ -1520,16 +1520,6 @@ static void scene_output_handle_commit(struct wl_listener *listener, void *data)
|
||||
struct wlr_output_event_commit *event = data;
|
||||
const struct wlr_output_state *state = event->state;
|
||||
|
||||
bool force_update = state->committed & (
|
||||
WLR_OUTPUT_STATE_TRANSFORM |
|
||||
WLR_OUTPUT_STATE_SCALE |
|
||||
WLR_OUTPUT_STATE_SUBPIXEL);
|
||||
|
||||
if (force_update || state->committed & (WLR_OUTPUT_STATE_MODE |
|
||||
WLR_OUTPUT_STATE_ENABLED)) {
|
||||
scene_output_update_geometry(scene_output, force_update);
|
||||
}
|
||||
|
||||
// if the output has been committed with a certain damage, we know that region
|
||||
// will be acknowledged by the backend so we don't need to keep track of it
|
||||
// anymore
|
||||
@ -1543,6 +1533,16 @@ static void scene_output_handle_commit(struct wl_listener *listener, void *data)
|
||||
}
|
||||
}
|
||||
|
||||
bool force_update = state->committed & (
|
||||
WLR_OUTPUT_STATE_TRANSFORM |
|
||||
WLR_OUTPUT_STATE_SCALE |
|
||||
WLR_OUTPUT_STATE_SUBPIXEL);
|
||||
|
||||
if (force_update || state->committed & (WLR_OUTPUT_STATE_MODE |
|
||||
WLR_OUTPUT_STATE_ENABLED)) {
|
||||
scene_output_update_geometry(scene_output, force_update);
|
||||
}
|
||||
|
||||
if (scene_output->scene->debug_damage_option == WLR_SCENE_DEBUG_DAMAGE_HIGHLIGHT &&
|
||||
!wl_list_empty(&scene_output->damage_highlight_regions)) {
|
||||
wlr_output_schedule_frame(scene_output->output);
|
||||
|
Loading…
Reference in New Issue
Block a user