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.
This commit is contained in:
Sebastian Krzyszkowiak 2019-09-29 18:35:47 +02:00 committed by Simon Ser
parent 00c4c7e8cc
commit edcd353a00

View file

@ -373,10 +373,8 @@ static void popup_damage(struct sway_layer_popup *layer_popup, bool whole) {
while (true) { while (true) {
if (layer_popup->parent_type == LAYER_PARENT_POPUP) { if (layer_popup->parent_type == LAYER_PARENT_POPUP) {
layer_popup = layer_popup->parent_popup; layer_popup = layer_popup->parent_popup;
ox += layer_popup->wlr_popup->base->geometry.x + ox += layer_popup->wlr_popup->geometry.x;
layer_popup->wlr_popup->geometry.x; oy += layer_popup->wlr_popup->geometry.y;
oy += layer_popup->wlr_popup->base->geometry.y +
layer_popup->wlr_popup->geometry.y;
} else { } else {
layer = layer_popup->parent_layer; layer = layer_popup->parent_layer;
ox += layer->geo.x; ox += layer->geo.x;