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:
parent
00c4c7e8cc
commit
edcd353a00
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue