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>
This commit is contained in:
parent
486b463a18
commit
399a224a18
|
@ -829,6 +829,13 @@ weston_desktop_xdg_popup_update_position(struct weston_desktop_surface *dsurface
|
||||||
static void
|
static void
|
||||||
weston_desktop_xdg_popup_committed(struct weston_desktop_xdg_popup *popup)
|
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)
|
if (!popup->committed)
|
||||||
weston_desktop_xdg_surface_schedule_configure(&popup->base);
|
weston_desktop_xdg_surface_schedule_configure(&popup->base);
|
||||||
popup->committed = true;
|
popup->committed = true;
|
||||||
|
|
Loading…
Reference in New Issue