diff options
-rw-r--r-- | sway/desktop/transaction.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c index ee7a0704..0a24c4fc 100644 --- a/sway/desktop/transaction.c +++ b/sway/desktop/transaction.c | |||
@@ -364,7 +364,13 @@ static void set_instructions_ready(struct sway_view *view, int index) { | |||
364 | struct sway_transaction_instruction *instruction = | 364 | struct sway_transaction_instruction *instruction = |
365 | view->swayc->instructions->items[i]; | 365 | view->swayc->instructions->items[i]; |
366 | if (!instruction->ready) { | 366 | if (!instruction->ready) { |
367 | // set_instruction_ready can remove instructions from the list we're | ||
368 | // iterating | ||
369 | size_t length = view->swayc->instructions->length; | ||
367 | set_instruction_ready(instruction); | 370 | set_instruction_ready(instruction); |
371 | size_t num_removed = length - view->swayc->instructions->length; | ||
372 | i -= num_removed; | ||
373 | index -= num_removed; | ||
368 | } | 374 | } |
369 | } | 375 | } |
370 | } | 376 | } |