diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h index 3d94de228..4db111118 100644 --- a/include/libweston/libweston.h +++ b/include/libweston/libweston.h @@ -485,7 +485,6 @@ struct weston_output { /** For cancelling the idle_repaint callback on output destruction. */ struct wl_event_source *idle_repaint_source; - int dirty; struct wl_signal frame_signal; struct wl_signal destroy_signal; /**< sent when disabled */ int move_x, move_y; diff --git a/libweston/compositor.c b/libweston/compositor.c index 590830d80..7b9ebe41b 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -3031,9 +3031,6 @@ weston_output_repaint(struct weston_output *output) pixman_region32_subtract(&output_damage, &output_damage, &ec->primary_plane.clip); - if (output->dirty) - weston_output_update_matrix(output); - r = output->repaint(output, &output_damage); pixman_region32_fini(&output_damage); @@ -6195,7 +6192,6 @@ weston_compositor_reflow_outputs(struct weston_compositor *compositor, if (start_resizing) { weston_output_set_position(output, output->x + delta_width, output->y); - output->dirty = 1; } } } @@ -6265,8 +6261,6 @@ weston_output_update_matrix(struct weston_output *output) output->current_scale, output->current_scale, 1); - output->dirty = 0; - weston_matrix_invert(&output->inverse_matrix, &output->matrix); } @@ -6319,7 +6313,7 @@ weston_output_set_position(struct weston_output *output, int x, int y) weston_output_init_geometry(output, x, y); - output->dirty = 1; + weston_output_update_matrix(output); /* Move views on this output. */ wl_signal_emit(&output->compositor->output_moved_signal, output); @@ -6698,7 +6692,7 @@ weston_output_set_transform(struct weston_output *output, weston_output_init_geometry(output, output->x, output->y); - output->dirty = 1; + weston_output_update_matrix(output); /* Notify clients of the change for output transform. */ wl_list_for_each(head, &output->head_list, output_link) { @@ -7100,7 +7094,6 @@ weston_output_enable(struct weston_output *output) /* Make sure we have a transform set */ assert(output->transform != UINT32_MAX); - output->dirty = 1; output->original_scale = output->scale; wl_signal_init(&output->frame_signal); @@ -7114,6 +7107,7 @@ weston_output_enable(struct weston_output *output) if (!weston_output_placement_ok(output)) return -1; + weston_output_update_matrix(output); weston_output_damage(output); wl_list_init(&output->animation_list);