diff options
author | Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm> | 2019-09-29 18:35:47 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2019-09-29 19:50:58 +0300 |
commit | edcd353a0068d9175191363b3a7ce0b3837adc3d (patch) | |
tree | 7270088e0d8e27f3aa81da52bcfe05a41abd8be2 /sway/desktop | |
parent | 00c4c7e8cc437c6f905c6fbe94cf8eaf508f8644 (diff) | |
download | sway-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.c | 6 |
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; |