fix(dock): close legacy tray tooltip on popup destruction#1663
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: svan71 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi @svan71. Thanks for your PR. 😃 |
|
Hi @svan71. Thanks for your PR. I'm waiting for a linuxdeepin member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
What changed
Close a legacy tray tooltip directly when its
PluginPopupemitsaboutToDestroy.Fixes linuxdeepin/developer-center#13616.
Root cause
Legacy tray tooltip content is owned by a plugin popup while the translucent
tooltip host is owned by
dde-shell. The plugin loader correctly hides anddestroys its popup, but
ShellSurfaceItemProxy.onSurfaceDestroyedis not emittedfor this teardown.
TrayItemSurfacePopuptherefore never closes the shared host,leaving an empty translucent background after the text disappears.
PluginPopup.aboutToDestroyis the authoritative server-side lifecycle signaland is emitted immediately before the popup object is deleted. Connecting the
tooltip to that signal closes the host at the correct boundary.
Impact
Legacy tray items such as Volume and Clipboard dismiss their tooltip background
correctly. Native actions such as Quick Actions and Collapse Tray are unchanged.
Validation
popup-map removal, and
PluginPopupSurfacedestruction all completed.ShellSurfaceItemProxy.onSurfaceDestroyedhandler did notrun for the plugin popup teardown.
connection.
both now dismiss cleanly.