mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-04-13 08:22:16 -04:00
Merge branch 'subsurfaces-state-flag-v2' into 'master'
surface: add WLR_SURFACE_STATE_SUBSURFACES See merge request wlroots/wlroots!4477
This commit is contained in:
commit
b96a67a5a1
3 changed files with 8 additions and 2 deletions
|
|
@ -159,8 +159,10 @@ static void subsurface_tree_handle_surface_commit(struct wl_listener *listener,
|
|||
struct wlr_scene_subsurface_tree *subsurface_tree =
|
||||
wl_container_of(listener, subsurface_tree, surface_commit);
|
||||
|
||||
// TODO: only do this on subsurface order or position change
|
||||
subsurface_tree_reconfigure(subsurface_tree);
|
||||
// TODO: also need to do this on sub-surface position change
|
||||
if (subsurface_tree->surface->current.committed & WLR_SURFACE_STATE_SUBSURFACES) {
|
||||
subsurface_tree_reconfigure(subsurface_tree);
|
||||
}
|
||||
}
|
||||
|
||||
static void subsurface_tree_handle_subsurface_destroy(struct wl_listener *listener,
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@ static void subsurface_handle_place_above(struct wl_client *client,
|
|||
node = &sibling->pending.link;
|
||||
}
|
||||
|
||||
subsurface->parent->pending.committed |= WLR_SURFACE_STATE_SUBSURFACES;
|
||||
wl_list_remove(&subsurface->pending.link);
|
||||
wl_list_insert(node, &subsurface->pending.link);
|
||||
}
|
||||
|
|
@ -148,6 +149,7 @@ static void subsurface_handle_place_below(struct wl_client *client,
|
|||
node = &sibling->pending.link;
|
||||
}
|
||||
|
||||
subsurface->parent->pending.committed |= WLR_SURFACE_STATE_SUBSURFACES;
|
||||
wl_list_remove(&subsurface->pending.link);
|
||||
wl_list_insert(node->prev, &subsurface->pending.link);
|
||||
}
|
||||
|
|
@ -380,6 +382,7 @@ static void subcompositor_handle_get_subsurface(struct wl_client *client,
|
|||
wl_signal_add(&parent->events.destroy, &subsurface->parent_destroy);
|
||||
subsurface->parent_destroy.notify = subsurface_handle_parent_destroy;
|
||||
|
||||
subsurface->parent->pending.committed |= WLR_SURFACE_STATE_SUBSURFACES;
|
||||
wl_list_remove(&subsurface->pending.link);
|
||||
wl_list_insert(parent->pending.subsurfaces_above.prev,
|
||||
&subsurface->pending.link);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue