libweston-desktop/xdg-shell: update view transforms for xdg popup surfaces

For toplevel surfaces, the shell will do the same thing. Without this, the
commit does not trigger repaints, because the output mask for the surface
is not set.

Without this the popup is not shown unless something else triggers a
repaint. This is usually not seen because the mouse cursor triggers a
repaint at the same time.

Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
dev
Michael Olbrich 6 years ago committed by Daniel Stone
parent 486b463a18
commit 399a224a18
  1. 7
      libweston-desktop/xdg-shell-v6.c

@ -829,6 +829,13 @@ weston_desktop_xdg_popup_update_position(struct weston_desktop_surface *dsurface
static void
weston_desktop_xdg_popup_committed(struct weston_desktop_xdg_popup *popup)
{
struct weston_surface *wsurface =
weston_desktop_surface_get_surface (popup->base.desktop_surface);
struct weston_view *view;
wl_list_for_each(view, &wsurface->views, surface_link)
weston_view_update_transform(view);
if (!popup->committed)
weston_desktop_xdg_surface_schedule_configure(&popup->base);
popup->committed = true;

Loading…
Cancel
Save