diff --git a/wayland.c b/wayland.c index 70d5e0f1..66f2c3b3 100644 --- a/wayland.c +++ b/wayland.c @@ -1203,6 +1203,11 @@ wayl_win_destroy(struct wl_window *win) * nor mouse focus). */ + if (win->scrollback_indicator_surface != NULL) { + wl_surface_attach(win->scrollback_indicator_surface, NULL, 0, 0); + wl_surface_commit(win->scrollback_indicator_surface); + } + /* Scrollback search */ if (win->search_surface != NULL) { wl_surface_attach(win->search_surface, NULL, 0, 0); @@ -1227,6 +1232,10 @@ wayl_win_destroy(struct wl_window *win) tll_free(win->on_outputs); csd_destroy(win); + if (win->scrollback_indicator_sub_surface != NULL) + wl_subsurface_destroy(win->scrollback_indicator_sub_surface); + if (win->scrollback_indicator_surface != NULL) + wl_surface_destroy(win->scrollback_indicator_surface); if (win->search_sub_surface != NULL) wl_subsurface_destroy(win->search_sub_surface); if (win->search_surface != NULL) diff --git a/wayland.h b/wayland.h index dbf63c1b..e67d514a 100644 --- a/wayland.h +++ b/wayland.h @@ -273,6 +273,9 @@ struct wl_window { struct wl_surface *search_surface; struct wl_subsurface *search_sub_surface; + struct wl_surface *scrollback_indicator_surface; + struct wl_subsurface *scrollback_indicator_sub_surface; + struct wl_callback *frame_callback; tll(const struct monitor *) on_outputs; /* Outputs we're mapped on */