aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/sway/tree/view.h2
-rw-r--r--sway/desktop/output.c2
-rw-r--r--sway/tree/view.c5
3 files changed, 5 insertions, 4 deletions
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h
index 29c87967..4d3532d2 100644
--- a/include/sway/tree/view.h
+++ b/include/sway/tree/view.h
@@ -80,7 +80,7 @@ struct sway_view {
bool allow_request_urgent;
struct wl_event_source *urgent_timer;
- struct wlr_buffer *saved_buffer;
+ struct wlr_client_buffer *saved_buffer;
int saved_buffer_width, saved_buffer_height;
// The geometry for whatever the client is committing, regardless of
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index b78e0819..ec3d6424 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -501,7 +501,7 @@ static bool scan_out_fullscreen_view(struct sway_output *output,
wlr_presentation_surface_sampled_on_output(server.presentation, surface,
wlr_output);
- if (!wlr_output_attach_buffer(wlr_output, surface->buffer)) {
+ if (!wlr_output_attach_buffer(wlr_output, &surface->buffer->base)) {
return false;
}
return wlr_output_commit(wlr_output);
diff --git a/sway/tree/view.c b/sway/tree/view.c
index 04ff4b57..da8822c3 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -1154,7 +1154,7 @@ void view_remove_saved_buffer(struct sway_view *view) {
if (!sway_assert(view->saved_buffer, "Expected a saved buffer")) {
return;
}
- wlr_buffer_unref(view->saved_buffer);
+ wlr_buffer_unref(&view->saved_buffer->base);
view->saved_buffer = NULL;
}
@@ -1163,7 +1163,8 @@ void view_save_buffer(struct sway_view *view) {
view_remove_saved_buffer(view);
}
if (view->surface && wlr_surface_has_buffer(view->surface)) {
- view->saved_buffer = wlr_buffer_ref(view->surface->buffer);
+ wlr_buffer_ref(&view->surface->buffer->base);
+ view->saved_buffer = view->surface->buffer;
view->saved_buffer_width = view->surface->current.width;
view->saved_buffer_height = view->surface->current.height;
}