aboutsummaryrefslogtreecommitdiff
path: root/sway/desktop/transaction.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/desktop/transaction.c')
-rw-r--r--sway/desktop/transaction.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c
index 7c5a9b8f..d2932c87 100644
--- a/sway/desktop/transaction.c
+++ b/sway/desktop/transaction.c
@@ -298,6 +298,13 @@ void transaction_commit(struct sway_transaction *transaction) {
instruction->state.view_width,
instruction->state.view_height);
++transaction->num_waiting;
+
+ // From here on we are rendering a saved buffer of the view, which
+ // means we can send a frame done event to make the client redraw it
+ // as soon as possible. Additionally, this is required if a view is
+ // mapping and its default geometry doesn't intersect an output.
+ struct timespec when;
+ wlr_surface_send_frame_done(con->sway_view->surface, &when);
}
list_add(con->instructions, instruction);
}