commit 47263aca289ab4d89ba69a543357603e64719ff6
parent 0dfaf7ea639570ed8fcbc8c1592740b0791b7705
Author: Kirill Primak <vyivel@eclair.cafe>
Date: Tue, 24 Oct 2023 15:24:51 +0300
view: check if the buffer was uploaded on save
wlr_surface_has_buffer() is insufficient; if a client has committed a
buffer but it couldn't be applied, NULL deref happens in the next line.
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sway/tree/view.c b/sway/tree/view.c
@@ -1422,7 +1422,7 @@ static void view_save_buffer_iterator(struct wlr_surface *surface,
int sx, int sy, void *data) {
struct sway_view *view = data;
- if (surface && wlr_surface_has_buffer(surface)) {
+ if (surface && surface->buffer) {
wlr_buffer_lock(&surface->buffer->base);
struct sway_saved_buffer *saved_buffer = calloc(1, sizeof(struct sway_saved_buffer));
saved_buffer->buffer = surface->buffer;