The changes replace QtDBus implementation with direct libdbus-1 calls
in dsgapplication.cpp for better control and performance. Key changes
include:
1. Added libdbus-1-dev as build dependency in debian/control
2. Updated CMakeLists.txt to find and link against libdbus-1
3. Implemented new utility functions checkDBusServiceActivatable and
callDBusIdentifyMethod using libdbus-1 API
4. Removed QtDBus dependencies and replaced with direct D-Bus calls
5. Added proper error handling and resource cleanup for D-Bus
connections
This change provides more direct control over D-Bus interactions
and removes QtDBus dependency overhead while maintaining the same
functionality.
refactor: 在 dsgapplication 中用 libdbus-1 替换 QtDBus
这些更改用直接的 libdbus-1 调用替换了 dsgapplication.cpp 中的 QtDBus 实
现,以获得更好的控制和性能。主要变更包括:
1. 在 debian/control 中添加了 libdbus-1-dev 作为构建依赖
2. 更新 CMakeLists.txt 以查找并链接 libdbus-1
3. 使用 libdbus-1 API 实现了新的实用函数 checkDBusServiceActivatable 和
callDBusIdentifyMethod
4. 移除了 QtDBus 依赖项并替换为直接的 D-Bus 调用
5. 为 D-Bus 连接添加了适当的错误处理和资源清理
此变更提供了对 D-Bus 交互更直接的控制,在保持相同功能的同时移除了 QtDBus
依赖开销。
1. Changed version parameter from required to optional in auto-
release.yml
2. Fixed spec file formatting for Version and Release fields
3. Added %{?dist} macro to Release field for better RPM compatibility
The changes make the release workflow more flexible by allowing version-
less releases when needed. The spec file formatting improvements ensure
consistency with RPM packaging standards, while the %{?dist} macro helps
with proper package distribution tagging.
fix: 在发布工作流中使版本参数可选
1. 在 auto-release.yml 中将版本参数从必填改为可选
2. 修复了 spec 文件中 Version 和 Release 字段的格式
3. 在 Release 字段中添加了 %{?dist} 宏以提升 RPM 兼容性
这些改动使得发布工作流在需要时可以更灵活地进行无版本发布。spec 文件的格
式改进确保了与 RPM 打包标准的一致性,而 %{?dist} 宏有助于正确的软件包分
发标记。
1. Added missing copy of cachePrefix member when copying DConfigFile
objects
2. The cachePrefix was being lost during copy operations which could
lead to incorrect cache behavior
3. This ensures complete and proper copying of all cache-related data
fix: 在 DConfigFile 拷贝构造函数中复制 cachePrefix
1. 添加了对 cachePrefix 成员的拷贝操作,在复制 DConfigFile 对象时该成员
之前被遗漏
2. 之前拷贝操作会丢失 cachePrefix,可能导致缓存行为异常
3. 此修改确保所有缓存相关数据都能被完整正确地拷贝
1. Modified condition to check for both DTK_DISABLED_LOGGING_RULES and
QT_LOGGING_RULES environment variables
2. This change prevents logging rules from being initialized when either
variable is set
3. Ensures better compatibility with Qt's standard logging configuration
system
4. Maintains backward compatibility while adding support for standard Qt
logging control
fix: 改进日志规则环境变量处理
1. 修改条件以同时检查 DTK_DISABLED_LOGGING_RULES 和 QT_LOGGING_RULES 环
境变量
2. 当任一变量设置时,阻止日志规则初始化
3. 确保与 Qt 标准日志配置系统更好的兼容性
4. 在添加对标准 Qt 日志控制支持的同时保持向后兼容
Use VERSION file to manage DTK version. VERSION file defines package
version. It also decides the initial value of cached variable
DTK_VERSION which controls the project version in cmake build system.
VERSION file is not synchronized to DTK6, as DTK6 has its own VERSION
file. One can still pass version to DTK_VERSION when running cmake
configure. This is helpful for developers.
Signed-off-by: Yixue Wang <wangyixue@deepin.org>
Added case 9 to return UosMilitary/UosMilitaryS in uosEditionType
function
The change was necessary because the system needs to recognize edition
type 9 as a valid military edition variant
This ensures proper handling of all supported UOS edition types in the
system
fix: 添加缺失的 UosMilitary 版本类型处理
在 uosEditionType 函数中添加了 case 9 返回 UosMilitary/UosMilitaryS 的
处理
此变更是必要的,因为系统需要将类型9识别为有效的军事版本变体
这确保了系统中对所有支持的 UOS 版本类型的正确处理
pms: BUG-316837
1. Fixed incorrect bitwise AND operation in property status tracking
2. Changed `fetchAndAndOrdered(1 << index)` to `fetchAndAndOrdered(~(1
<< index))`
3. This ensures proper bit clearing when unsetting property flags
4. The change was made in both the generated header and the generator
tool
5. Without this fix, status tracking would incorrectly set bits instead
of clearing them
fix: 修正 dconfig 状态跟踪中的位操作
1. 修复了属性状态跟踪中错误的位与操作
2. 将 `fetchAndAndOrdered(1 << index)` 改为 `fetchAndAndOrdered(~(1
<< index))`
3. 确保在取消设置属性标志时能正确清除位
4. 修改同时应用于生成的头部文件和生成器工具
5. 若不修复此问题,状态跟踪会错误地设置位而非清除它们
1. Added QPointer include for tracking parent object lifecycle
2. Changed parent initialization to nullptr in constructor for safety
3. Implemented parent object tracking using QPointer to prevent dangling
pointers
4. Added logic to handle parent object deletion during async operation
5. Added proper parent reassignment if parent still exists after
operation
These changes prevent potential crashes when parent objects are deleted
during asynchronous configuration operations, particularly important in
multi-threaded scenarios where parent objects might be destroyed while
operations are pending.
fix: 添加 QPointer 检查确保父对象安全
1. 添加 QPointer 头文件用于跟踪父对象生命周期
2. 构造函数中将父对象初始化为 nullptr 提高安全性
3. 使用 QPointer 实现父对象跟踪,防止悬垂指针
4. 添加处理异步操作期间父对象被删除的逻辑
5. 操作完成后如果父对象仍存在则正确重新设置父对象
这些修改防止了在异步配置操作期间父对象被删除时可能导致的崩溃,对于多线程
场景下父对象可能在操作挂起时被销毁的情况尤为重要。
Updated the dvtablehook.h file to adjust the typedef for Fun2ReturnType
based on changes in Qt 6.9 interfaces. Additionally, the main.cpp
file now casts the unicode value to short to prevent type issues.
These changes are necessary to ensure compatibility with the latest
Qt framework and to resolve the build issues that arise from interface
modifications.
修复: 解决在Qt 6.9上的编译失败
更新了dvtablehook.h文件,以根据Qt 6.9接口的变化调整Fun2ReturnType的
typedef。此外,main.cpp文件现在将unicode值转换为short,以防止类型问题。
这些更改对于确保与最新Qt框架兼容以及解决接口修改引起的构建问题是必要的。
Direct string literal for the property name, because the literal was
use on the Q_PROPERTY macro, so use the hex encode for the property name
strings can't avoid the Chinese text codec problems.
Destruct function should be called by 'autoCleanVtable' instead of
'callOriginalFun'.
'glostVtable' should be delete before calling origin destruct,
because 'resetVtable' maybe called when destructing origin destruct.
pms: BUG-368399