summaryrefslogtreecommitdiff
path: root/sway/tree/output.c
diff options
context:
space:
mode:
authorKenny Levinsen <[email protected]>2021-02-12 23:22:51 +0100
committerTudor Brindus <[email protected]>2021-02-16 22:05:00 -0500
commita047b5ee4a2a67d30d93641ff86531d54b8e0879 (patch)
tree271666c6254e4fabf943c1153224059411a5ce56 /sway/tree/output.c
parent28cadf558090854ace1df1a0a64f5fbc059541c0 (diff)
container: Move pending state to state struct
Pending state is currently inlined directly in the container struct, while the current state is in a state struct. A side-effect of this is that it is not immediately obvious that pending double-buffered state is accessed, nor is it obvious what state is double-buffered. Instead, use the state struct for both current and pending.
Diffstat (limited to 'sway/tree/output.c')
-rw-r--r--sway/tree/output.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/sway/tree/output.c b/sway/tree/output.c
index a8ae30f7..c095dce0 100644
--- a/sway/tree/output.c
+++ b/sway/tree/output.c
@@ -70,13 +70,13 @@ static void restore_workspaces(struct sway_output *output) {
// floater re-centered
for (int i = 0; i < ws->floating->length; i++) {
struct sway_container *floater = ws->floating->items[i];
- if (floater->width == 0 || floater->height == 0 ||
- floater->width > output->width ||
- floater->height > output->height ||
- floater->x > output->lx + output->width ||
- floater->y > output->ly + output->height ||
- floater->x + floater->width < output->lx ||
- floater->y + floater->height < output->ly) {
+ if (floater->pending.width == 0 || floater->pending.height == 0 ||
+ floater->pending.width > output->width ||
+ floater->pending.height > output->height ||
+ floater->pending.x > output->lx + output->width ||
+ floater->pending.y > output->ly + output->height ||
+ floater->pending.x + floater->pending.width < output->lx ||
+ floater->pending.y + floater->pending.height < output->ly) {
container_floating_resize_and_center(floater);
}
}