From d169e9634603a2ec84bb18c975cdb06f5e3551dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Mon, 13 Jul 2020 15:01:27 +0200 Subject: [PATCH] wayland: configure: do a regular resize instead of a force resize The commit log says that was needed to get tiling in GNOME working. However, I don't know *which* extension that was. Force resizing in a configure event means we'll trash a perfectly valid buffer on e.g. 'activated' state changes. So, let's revert this for now, and if this breaks GNOME, let's try to find another solution. If worse comes to worse, we can detect if we're running under GNOME and do a force-resize then, but not on sane compositors. --- wayland.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wayland.c b/wayland.c index 1320fc3a..40f4d3e8 100644 --- a/wayland.c +++ b/wayland.c @@ -546,7 +546,11 @@ xdg_surface_configure(void *data, struct xdg_surface *xdg_surface, win->is_fullscreen = win->configure.is_fullscreen; xdg_surface_ack_configure(xdg_surface, serial); - bool resized = render_resize_force(term, win->configure.width, win->configure.height); + + /* TODO: check with GNOME and tiling - presumably that didn't work + * unless we presented a *new* buffer, hence we used to do a force + * resize here */ + bool resized = render_resize(term, win->configure.width, win->configure.height); if (win->configure.is_activated) term_visual_focus_in(term); @@ -556,7 +560,7 @@ xdg_surface_configure(void *data, struct xdg_surface *xdg_surface, /* TODO: remove - shouldn't be necessary with render_resize_force() */ if (!resized) { /* - * If we didn't resize, we won't be commit a new surface + * If we didn't resize, we won't be committing a new surface * anytime soon. Some compositors require a commit in * combination with an ack - make them happy. */