mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-05 05:05:57 +01:00
backend/wayland: fix resizing
Before resizing the egl window, the buffers must be swapped
This commit is contained in:
parent
365a75139c
commit
88ee102992
1 changed files with 3 additions and 2 deletions
|
@ -43,8 +43,10 @@ static struct wl_callback_listener frame_listener = {
|
||||||
static bool output_set_custom_mode(struct wlr_output *wlr_output,
|
static bool output_set_custom_mode(struct wlr_output *wlr_output,
|
||||||
int32_t width, int32_t height, int32_t refresh) {
|
int32_t width, int32_t height, int32_t refresh) {
|
||||||
struct wlr_wl_output *output = get_wl_output_from_output(wlr_output);
|
struct wlr_wl_output *output = get_wl_output_from_output(wlr_output);
|
||||||
|
wlr_egl_swap_buffers(&output->backend->egl, output->egl_surface, NULL);
|
||||||
wl_egl_window_resize(output->egl_window, width, height, 0, 0);
|
wl_egl_window_resize(output->egl_window, width, height, 0, 0);
|
||||||
wlr_output_update_custom_mode(&output->wlr_output, width, height, 0);
|
wlr_output_update_custom_mode(&output->wlr_output, width, height, 0);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -253,8 +255,7 @@ static void xdg_toplevel_handle_configure(void *data,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// loop over states for maximized etc?
|
// loop over states for maximized etc?
|
||||||
wl_egl_window_resize(output->egl_window, width, height, 0, 0);
|
output_set_custom_mode(&output->wlr_output, width, height, 0);
|
||||||
wlr_output_update_custom_mode(&output->wlr_output, width, height, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xdg_toplevel_handle_close(void *data,
|
static void xdg_toplevel_handle_close(void *data,
|
||||||
|
|
Loading…
Reference in a new issue