From f7362d381b436718cc26565a09a3a38bf556586d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Fri, 3 Jan 2020 18:55:13 +0100 Subject: [PATCH] render: refresh: ensure window has been configured --- render.c | 2 ++ wayland.c | 2 ++ wayland.h | 1 + 3 files changed, 5 insertions(+) diff --git a/render.c b/render.c index 5e7ef233..ba70aee0 100644 --- a/render.c +++ b/render.c @@ -1110,6 +1110,8 @@ render_set_title(struct terminal *term, const char *_title) void render_refresh(struct terminal *term) { + assert(term->window->is_configured); + if (term->window->frame_callback == NULL) grid_render(term); else diff --git a/wayland.c b/wayland.c index 4b419684..603eb441 100644 --- a/wayland.c +++ b/wayland.c @@ -505,6 +505,8 @@ xdg_surface_configure(void *data, struct xdg_surface *xdg_surface, struct wl_window *win = data; struct terminal *term = win->term; + win->is_configured = true; + if (win->configure.is_activated) term_visual_focus_in(term); else diff --git a/wayland.h b/wayland.h index f802bcc7..fd0c36e2 100644 --- a/wayland.h +++ b/wayland.h @@ -99,6 +99,7 @@ struct wl_window { tll(const struct monitor *) on_outputs; /* Outputs we're mapped on */ + bool is_configured; struct { bool is_activated; int width;