fix(loader): gate wayland platform interface on env - #491
Conversation
There was a problem hiding this comment.
Sorry @MyLeeJiEun, you have reached your weekly rate limit of 500000 diff characters.
Please try again later or upgrade to continue using Sourcery
|
Hi @MyLeeJiEun. 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. |
Reviewer's guide (collapsed on small PRs)Reviewer's GuideGates registration of the Wayland-specific platform interface on an environment variable set by dde-shell, ensures it is registered before LoaderApplication construction so system theme picks up dockplugin-synced attributes, and adds a debian build dependency on a recent dde-shell. Sequence diagram for gating DQWaylandPlatformInterface registration on environment variablesequenceDiagram
participant LoaderMain
participant Environment
participant DPlatformInterfaceFactory
participant LoaderApplication
participant DGuiApplicationHelper
participant systemTheme
LoaderMain->>Environment: qEnvironmentVariableIsSet(DDE_TRAY_LOADER_REGISTER_PLATFORM_INTERFACE)
alt env var set
LoaderMain->>DPlatformInterfaceFactory: registerInterface(lambda DPlatformTheme)
DPlatformInterfaceFactory-->>systemTheme: use DQWaylandPlatformInterface
else env var not set
note over DPlatformInterfaceFactory,systemTheme: DTreelandPlatformInterface remains default
end
LoaderMain->>LoaderApplication: LoaderApplication(argc, argv)
LoaderApplication->>DGuiApplicationHelper: instance()
DGuiApplicationHelper->>systemTheme: systemTheme
systemTheme-->>LoaderApplication: plugin_manager_v1 synced attributes (if DQWaylandPlatformInterface)
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
9add10c to
df9a70a
Compare
1. Register DQWaylandPlatformInterface only when dde-shell sets DDE_TRAY_LOADER_REGISTER_PLATFORM_INTERFACE, marking the process as hosted by the dockplugin compositor. 2. Register before LoaderApplication construction so systemTheme picks up plugin_manager_v1-synced attributes (active color, theme, fonts) instead of falling back to DTreelandPlatformInterface. 3. Keep the default platform interface on native Wayland/X11 sessions, avoiding regressions outside dockplugin hosting. 4. Add dde-shell (>> 2.0.52) build dependency in debian/control. Log: Register the Wayland platform interface only when the tray loader is hosted by the dockplugin compositor. Influence: Tray plugin colors/themes sync only under dockplugin hosting; native sessions unaffected. fix(loader): 按环境变量注册 Wayland 平台接口 1. 仅在 dde-shell 设置 DDE_TRAY_LOADER_REGISTER_PLATFORM_INTERFACE(即由 dockplugin 合成器托管)时注册 DQWaylandPlatformInterface。 2. 在 LoaderApplication 构造前注册,确保 systemTheme 能获取 plugin_manager_v1 同步的活动色、主题、字体等属性,而非回退到 DTreelandPlatformInterface。 3. 原生 Wayland/X11 会话保持默认平台接口,避免非托管场景回归。 4. debian/control 增加 dde-shell (>> 2.0.52) 构建依赖。 Log: 仅当托盘加载器由 dockplugin 合成器托管时注册 Wayland 平台接口。 PMS: BUG-372253 Influence: 托盘插件仅在 dockplugin 托管时同步活动色与主题,原生会话不受影响。
df9a70a to
ec2dd7c
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 18202781743, MyLeeJiEun 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 |
|
/merge |
|
This pr cannot be merged! (status: blocked) |
|
/forcemerge |
|
This pr force merged! (status: blocked) |
Log: Register the Wayland platform interface only when the tray loader is hosted by the dockplugin compositor.
Influence: Tray plugin colors/themes sync only under dockplugin hosting; native sessions unaffected.
fix(loader): 按环境变量注册 Wayland 平台接口
Log: 仅当托盘加载器由 dockplugin 合成器托管时注册 Wayland 平台接口。
PMS: BUG-372253
Influence: 托盘插件仅在 dockplugin 托管时同步活动色与主题,原生会话不受影响。
Summary by Sourcery
Gate Wayland platform interface registration on a dedicated environment variable and ensure it occurs before LoaderApplication initialization to keep native sessions unchanged while enabling dockplugin-hosted tray theming.
Bug Fixes:
Build: