Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • mutter mutter
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,143
    • Issues 1,143
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 120
    • Merge requests 120
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • muttermutter
  • Merge requests
  • !2501

wayland/subsurface: Move actor unparenting back to rebuild_surface_tree()

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Robert Mader requested to merge rmader/mutter:issue2343 into main Jul 08, 2022
  • Overview 11
  • Commits 2
  • Pipelines 8
  • Changes 2

Unparenting the surface actor when the subsurface object is destroyed has several issues:

  • subsurface actors can be unparented while a close animation is still ongoing, breaking the animation for e.g. Firefox.
  • adding and removing the actor to/from the parent is not handled in one place, making the code harder to follow.
  • if the destroyed subsurface had children of its own, they potentially stick around until a surface-tree rebuild. This makes the Firefox hamburger menu not close with the "compositor" backend.

Move the unparenting back to meta_window_actor_wayland_rebuild_surface_tree() and instead just notify the parent of a state change, if it still exist. This will ensure a correct mapping between the subsurface node tree and the flat surface actor list. In case of the closing animation the parent will already be removed and the call is skipped.

Closes #2343 (closed)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: issue2343