aboutsummaryrefslogtreecommitdiff
path: root/sway/desktop
diff options
context:
space:
mode:
authorSebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>2019-09-29 18:35:47 +0200
committerSimon Ser <contact@emersion.fr>2019-09-29 19:50:58 +0300
commitedcd353a0068d9175191363b3a7ce0b3837adc3d (patch)
tree7270088e0d8e27f3aa81da52bcfe05a41abd8be2 /sway/desktop
parent00c4c7e8cc437c6f905c6fbe94cf8eaf508f8644 (diff)
downloadsway-edcd353a0068d9175191363b3a7ce0b3837adc3d.tar.xz
layer-shell: Fix damage tracking of nested popups
Popups are positioned relative to local surface coordinates of the parent surface. There's no need to consider values set with xdg_surface.set_window_geometry for parent surfaces.
Diffstat (limited to 'sway/desktop')
-rw-r--r--sway/desktop/layer_shell.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c
index c881919d..a9803d21 100644
--- a/sway/desktop/layer_shell.c
+++ b/sway/desktop/layer_shell.c
@@ -373,10 +373,8 @@ static void popup_damage(struct sway_layer_popup *layer_popup, bool whole) {
while (true) {
if (layer_popup->parent_type == LAYER_PARENT_POPUP) {
layer_popup = layer_popup->parent_popup;
- ox += layer_popup->wlr_popup->base->geometry.x +
- layer_popup->wlr_popup->geometry.x;
- oy += layer_popup->wlr_popup->base->geometry.y +
- layer_popup->wlr_popup->geometry.y;
+ ox += layer_popup->wlr_popup->geometry.x;
+ oy += layer_popup->wlr_popup->geometry.y;
} else {
layer = layer_popup->parent_layer;
ox += layer->geo.x;