diff options
author | Alexander Orzechowski <orzechowski.alexander@gmail.com> | 2022-03-04 20:38:04 -0500 |
---|---|---|
committer | Kirill Primak <vyivel@eclair.cafe> | 2024-01-18 18:36:54 +0300 |
commit | 08c484f46f130aa7e590ef4bcb39d2ceed7160f6 (patch) | |
tree | 99e5ce939c0defaa53ead587545cb13559a518b0 | |
parent | 6d7b1321db54155cf78305dbafdcfc7de9b78415 (diff) |
transaction: ready signals will return success bools
-rw-r--r-- | include/sway/desktop/transaction.h | 11 | ||||
-rw-r--r-- | sway/desktop/transaction.c | 8 |
2 files changed, 15 insertions, 4 deletions
diff --git a/include/sway/desktop/transaction.h b/include/sway/desktop/transaction.h index 7dd58ba8..17d41fa3 100644 --- a/include/sway/desktop/transaction.h +++ b/include/sway/desktop/transaction.h @@ -1,6 +1,7 @@ #ifndef _SWAY_TRANSACTION_H #define _SWAY_TRANSACTION_H #include <stdint.h> +#include <stdbool.h> /** * Transactions enable us to perform atomic layout updates. @@ -38,8 +39,11 @@ void transaction_commit_dirty_client(void); * Notify the transaction system that a view is ready for the new layout. * * When all views in the transaction are ready, the layout will be applied. + * + * A success boolean is returned denoting that this part of the transaction is + * ready. */ -void transaction_notify_view_ready_by_serial(struct sway_view *view, +bool transaction_notify_view_ready_by_serial(struct sway_view *view, uint32_t serial); /** @@ -47,8 +51,11 @@ void transaction_notify_view_ready_by_serial(struct sway_view *view, * identifying the instruction by geometry rather than by serial. * * This is used by xwayland views, as they don't have serials. + * + * A success boolean is returned denoting that this part of the transaction is + * ready. */ -void transaction_notify_view_ready_by_geometry(struct sway_view *view, +bool transaction_notify_view_ready_by_geometry(struct sway_view *view, double x, double y, int width, int height); #endif diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c index 6947e138..bb725795 100644 --- a/sway/desktop/transaction.c +++ b/sway/desktop/transaction.c @@ -499,16 +499,18 @@ static void set_instruction_ready( transaction_progress(); } -void transaction_notify_view_ready_by_serial(struct sway_view *view, +bool transaction_notify_view_ready_by_serial(struct sway_view *view, uint32_t serial) { struct sway_transaction_instruction *instruction = view->container->node.instruction; if (instruction != NULL && instruction->serial == serial) { set_instruction_ready(instruction); + return true; } + return false; } -void transaction_notify_view_ready_by_geometry(struct sway_view *view, +bool transaction_notify_view_ready_by_geometry(struct sway_view *view, double x, double y, int width, int height) { struct sway_transaction_instruction *instruction = view->container->node.instruction; @@ -518,7 +520,9 @@ void transaction_notify_view_ready_by_geometry(struct sway_view *view, instruction->container_state.content_width == width && instruction->container_state.content_height == height) { set_instruction_ready(instruction); + return true; } + return false; } static void _transaction_commit_dirty(bool server_request) { |