aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input/cursor.c
diff options
context:
space:
mode:
authorLibravatar Alexander Orzechowski <alex@ozal.ski>2024-01-23 10:17:37 -0500
committerLibravatar Kirill Primak <vyivel@eclair.cafe>2024-02-12 19:19:22 +0300
commit09c360d503eb7309de46af3745001df7dd911438 (patch)
treed69bb2e93c2a241b14f5a2140420535a15b4e75d /sway/input/cursor.c
parentxdg_shell: Extract struct for popup descriptor (diff)
downloadsway-09c360d503eb7309de46af3745001df7dd911438.tar.gz
sway-09c360d503eb7309de46af3745001df7dd911438.tar.zst
sway-09c360d503eb7309de46af3745001df7dd911438.zip
layer_shell: Handle popups through popup descriptor
We tried to synchronize layer shell popups with the parent layer shell on commits, but this is subtly wrong because we would only update the position for one layer shell that was committed, but not any other layer that might be affected. By moving handling to the scene descriptor we can iterate all popups and ensure they are synchronized.
Diffstat (limited to 'sway/input/cursor.c')
-rw-r--r--sway/input/cursor.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sway/input/cursor.c b/sway/input/cursor.c
index f25439cb..25fa603e 100644
--- a/sway/input/cursor.c
+++ b/sway/input/cursor.c
@@ -92,7 +92,7 @@ struct sway_node *node_at_coords(
92 if (!con) { 92 if (!con) {
93 struct sway_popup_desc *popup = 93 struct sway_popup_desc *popup =
94 scene_descriptor_try_get(current, SWAY_SCENE_DESC_POPUP); 94 scene_descriptor_try_get(current, SWAY_SCENE_DESC_POPUP);
95 if (popup) { 95 if (popup && popup->view) {
96 con = popup->view->container; 96 con = popup->view->container;
97 } 97 }
98 } 98 }