mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-02 03:45:58 +01:00
rootston: damage output on mode change
This commit is contained in:
parent
443bd4cd89
commit
7f9f918b78
2 changed files with 10 additions and 1 deletions
|
@ -14,10 +14,12 @@ struct roots_output {
|
|||
|
||||
struct roots_view *fullscreen_view;
|
||||
|
||||
struct wl_listener frame;
|
||||
struct timespec last_frame;
|
||||
pixman_region32_t damage, previous_damage;
|
||||
struct wl_event_source *repaint_timer;
|
||||
|
||||
struct wl_listener frame;
|
||||
struct wl_listener mode;
|
||||
};
|
||||
|
||||
void output_add_notify(struct wl_listener *listener, void *data);
|
||||
|
|
|
@ -471,6 +471,11 @@ void output_damage_from_view(struct roots_output *output,
|
|||
// TODO: subsurfaces, popups, etc
|
||||
}
|
||||
|
||||
static void output_handle_mode(struct wl_listener *listener, void *data) {
|
||||
struct roots_output *output = wl_container_of(listener, output, mode);
|
||||
output_damage_whole(output);
|
||||
}
|
||||
|
||||
static void set_mode(struct wlr_output *output,
|
||||
struct roots_output_config *oc) {
|
||||
int mhz = (int)(oc->mode.refresh_rate * 1000);
|
||||
|
@ -530,6 +535,8 @@ void output_add_notify(struct wl_listener *listener, void *data) {
|
|||
|
||||
output->frame.notify = output_handle_frame;
|
||||
wl_signal_add(&wlr_output->events.frame, &output->frame);
|
||||
output->mode.notify = output_handle_mode;
|
||||
wl_signal_add(&wlr_output->events.mode, &output->mode);
|
||||
|
||||
struct roots_output_config *output_config =
|
||||
roots_config_get_output(config, wlr_output);
|
||||
|
|
Loading…
Reference in a new issue