aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/xdg_shell.c
diff options
context:
space:
mode:
authorLibravatar Tudor Brindus <me@tbrindus.ca>2020-10-18 16:26:01 -0400
committerLibravatar Simon Ser <contact@emersion.fr>2020-10-18 22:37:42 +0200
commit8355884fbd4ea04203614172424b27c5b74018ab (patch)
treec7decf05e32202d1230924a7ddb5af6dd903016c /sway/desktop/xdg_shell.c
parenttransaction: don't reconfigure X views unless integral coords changed (diff)
downloadsway-8355884fbd4ea04203614172424b27c5b74018ab.tar.gz
sway-8355884fbd4ea04203614172424b27c5b74018ab.tar.zst
sway-8355884fbd4ea04203614172424b27c5b74018ab.zip
transaction: validate X transaction completions by geometry, not size
Xwayland views are aware of their coordinates, so validating transaction completions should take into account the reported coordinates of the view. Prior to this commit they didn't, and matching dimensions would suffice to validate the transaction. Also introduced `transaction_notify_view_ready_immediately` to support the fix from d0f7e0f without jumping through hoops to figure out the geometry of an `xdg_shell` view.
Diffstat (limited to 'sway/desktop/xdg_shell.c')
-rw-r--r--sway/desktop/xdg_shell.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c
index 03f37241..4d133a12 100644
--- a/sway/desktop/xdg_shell.c
+++ b/sway/desktop/xdg_shell.c
@@ -302,8 +302,7 @@ static void handle_commit(struct wl_listener *listener, void *data) {
302 memcpy(&view->geometry, &new_geo, sizeof(struct wlr_box)); 302 memcpy(&view->geometry, &new_geo, sizeof(struct wlr_box));
303 desktop_damage_view(view); 303 desktop_damage_view(view);
304 transaction_commit_dirty(); 304 transaction_commit_dirty();
305 transaction_notify_view_ready_by_size(view, 305 transaction_notify_view_ready_immediately(view);
306 new_geo.width, new_geo.height);
307 } else { 306 } else {
308 memcpy(&view->geometry, &new_geo, sizeof(struct wlr_box)); 307 memcpy(&view->geometry, &new_geo, sizeof(struct wlr_box));
309 } 308 }