fix: target link error in qt6.6#9
Merged
18202781743 merged 1 commit intolinuxdeepin:masterfrom Nov 1, 2023
Merged
Conversation
symbol can't export in qt6.6.
BLumia
approved these changes
Nov 1, 2023
wineee
approved these changes
Nov 1, 2023
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 18202781743, BLumia, wineee 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 |
deepin-bot bot
pushed a commit
that referenced
this pull request
Mar 4, 2026
Removed the connection to the source model's destroyed signal that was causing a crash during abnormal exit. The handler was attempting to reset the model while it was already being updated, leading to invalid state access and crashes. This connection was unnecessary as the source model cleanup is already handled by Qt's parent-child relationship. ``` #0 0x00007f72b49dabe6 in QAbstractProxyModel::canFetchMore (this=0x55c861a82510, parent=...) at ./src/corelib/itemmodels/qabstractproxymodel.cpp:413 #1 0x00007f72b3cb4de6 in ??? () at /lib/x86_64-linux-gnu/libQt6QmlModels.so.6 #2 0x00007f72b3cc74c0 in QQmlDelegateModel::handleModelReset() () at /lib/x86_64-linux-gnu/libQt6QmlModels.so.6 #3 0x00007f72b486246c in QtPrivate::QSlotObjectBase::call (a=0x7ffeda7ec110, r=0x55c862f7a070, this=0x55c862f80fe0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:486 #4 doActivate<false> (sender=0x55c861a82510, signal_index=21, argv=0x7ffeda7ec110) at ./src/corelib/kernel/qobject.cpp:4120 #5 0x00007f72b49cb2e1 in QAbstractItemModel::modelReset (this=<optimized out>, _t1=...) at ./obj-x86_64-linux-gnu/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:1113 #6 0x00007f729fdb0be3 in operator() (__closure=0x55c861b48b40) at /home/work/dde-shell/panels/dock/taskmanager/dockitemmodel.cpp:89 #7 0x00007f729fdb284b in operator() (__closure=0x7ffeda7ec1b0) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:141 #8 0x00007f729fdb2944 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, dock::DockItemModel::setSourceModel(QAbstractItemModel*)::<lambda()> >::call(dock::DockItemModel::setSourceModel(QAbstractItemModel*)::<lambda()>&, void**)::<lambda()> >(void **, struct {...} &&) (args=0x7ffeda7ec340, fn=...) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65 #9 0x00007f729fdb2881 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, dock::DockItemModel::setSourceModel(QAbstractItemModel*)::<lambda()> >::call(struct {...} &, void **) (f=..., arg=0x7ffeda7ec340) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:140 #10 0x00007f729fdb2633 in QtPrivate::FunctorCallable<dock::DockItemModel::setSourceModel(QAbstractItemModel*)::<lambda()> >::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0x7ffeda7ec340) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:362 #11 0x00007f729fdb250a in QtPrivate::QCallableObject<dock::DockItemModel::setSourceModel(QAbstractItemModel*)::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x55c861b48b30, r=0x55c861a82510, a=0x7ffeda7ec340, ret=0x0) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:572 #12 0x00007f72b486246c in QtPrivate::QSlotObjectBase::call (a=0x7ffeda7ec340, r=0x55c861a82510, this=0x55c861b48b30, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:486 #13 doActivate<false> (sender=0x55c861afbfc0, signal_index=0, argv=0x7ffeda7ec340) at ./src/corelib/kernel/qobject.cpp:4120 #14 0x00007f72b48629c3 in QObject::destroyed (this=<optimized out>, _t1=<optimized out>) at ./obj-x86_64-linux-gnu/src/corelib/kernel/moc_qobject.cpp:229 ``` Influence: 1. Test application exit scenarios to ensure no crashes occur 2. Verify dock item model updates correctly during normal operation 3. Test with multiple source model changes and updates 4. Verify model reset functionality still works properly when needed fix: 移除源模型销毁处理程序以防止崩溃 移除了导致异常退出时崩溃的源模型销毁信号连接。该处理程序在模型已处于更新 状态时尝试重置模型,导致无效状态访问和崩溃。此连接是不必要的,因为源模型 的清理已由Qt的父子关系处理。 Influence: 1. 测试应用程序退出场景,确保不会发生崩溃 2. 验证在正常操作期间dock项目模型是否正确更新 3. 测试多个源模型更改和更新 4. 验证模型重置功能在需要时仍能正常工作
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
symbol can't export in qt6.6.