mirror of
https://github.com/swaywm/sway.git
synced 2024-12-30 17:06:40 +01:00
Merge pull request #2895 from RyanDwyer/fix-popup-damage
Fix popup damage issues when toplevel and/or popup uses geometry
This commit is contained in:
commit
64534d2fd1
2 changed files with 10 additions and 4 deletions
|
@ -25,9 +25,12 @@ static void popup_get_root_coords(struct sway_view_child *child,
|
||||||
struct sway_xdg_popup *popup = (struct sway_xdg_popup *)child;
|
struct sway_xdg_popup *popup = (struct sway_xdg_popup *)child;
|
||||||
struct wlr_xdg_surface *surface = popup->wlr_xdg_surface;
|
struct wlr_xdg_surface *surface = popup->wlr_xdg_surface;
|
||||||
|
|
||||||
|
int x_offset = -child->view->geometry.x - surface->geometry.x;
|
||||||
|
int y_offset = -child->view->geometry.y - surface->geometry.y;
|
||||||
|
|
||||||
wlr_xdg_popup_get_toplevel_coords(surface->popup,
|
wlr_xdg_popup_get_toplevel_coords(surface->popup,
|
||||||
-surface->geometry.x + surface->popup->geometry.x,
|
x_offset + surface->popup->geometry.x,
|
||||||
-surface->geometry.y + surface->popup->geometry.y,
|
y_offset + surface->popup->geometry.y,
|
||||||
root_sx, root_sy);
|
root_sx, root_sy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,9 +24,12 @@ static void popup_get_root_coords(struct sway_view_child *child,
|
||||||
struct sway_xdg_popup_v6 *popup = (struct sway_xdg_popup_v6 *)child;
|
struct sway_xdg_popup_v6 *popup = (struct sway_xdg_popup_v6 *)child;
|
||||||
struct wlr_xdg_surface_v6 *surface = popup->wlr_xdg_surface_v6;
|
struct wlr_xdg_surface_v6 *surface = popup->wlr_xdg_surface_v6;
|
||||||
|
|
||||||
|
int x_offset = -child->view->geometry.x - surface->geometry.x;
|
||||||
|
int y_offset = -child->view->geometry.y - surface->geometry.y;
|
||||||
|
|
||||||
wlr_xdg_popup_v6_get_toplevel_coords(surface->popup,
|
wlr_xdg_popup_v6_get_toplevel_coords(surface->popup,
|
||||||
-surface->geometry.x + surface->popup->geometry.x,
|
x_offset + surface->popup->geometry.x,
|
||||||
-surface->geometry.y + surface->popup->geometry.y,
|
y_offset + surface->popup->geometry.y,
|
||||||
root_sx, root_sy);
|
root_sx, root_sy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue