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) | |
| download | sway-08c484f46f130aa7e590ef4bcb39d2ceed7160f6.tar.xz | |
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) { | 
