wayland/xdg-shell: Defer meta_wayland_xdg_positioner_to_placement call
From xdg_surface_constructor_get_popup / xdg_popup_reposition (called during Wayland protocol processing) to finish_popup_setup / meta_wayland_xdg_popup_apply_state (called when the popup state is applied). This makes sure that the parent window frame rectangle is up to date in meta_wayland_xdg_positioner_to_placement. v2: * Use meta_wayland_surface_state_new () in meta_wayland_transaction_add_xdg_popup_reposition. v3: * Move xdg_popup_repositioned handling to meta_wayland_xdg_popup_apply_state. v4: * Do not steal pending->xdg_positioner in meta_wayland_xdg_popup_apply_state, fixes leaking the corresponding memory. * Drop MetaWaylandSurfaceState::xdg_popup_repositioned, just use ::xdg_positioner. v5: * Reformat meta_wayland_xdg_positioner_to_placement calls to stay within 80 columns. (Jonas Ådahl) Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1880>
This commit is contained in:

committed by
Michel Dänzer

parent
6c3879766d
commit
b7599fb766
@ -67,6 +67,8 @@ typedef struct _MetaWaylandActivation MetaWaylandActivation;
|
||||
|
||||
typedef struct _MetaWaylandDmaBufManager MetaWaylandDmaBufManager;
|
||||
|
||||
typedef struct _MetaWaylandXdgPositioner MetaWaylandXdgPositioner;
|
||||
|
||||
typedef struct _MetaXWaylandManager MetaXWaylandManager;
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user