Summary: | Assert in ~SvgItem | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-ksvg | Reporter: | Marco Martin <notmart> |
Component: | General | Assignee: | Plasma Bugs List <plasma-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | nate, nicolas.fella, zejdzztegomaila |
Priority: | HI | ||
Version First Reported In: | 6.6.0 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/frameworks/kirigami/-/commit/cdc7f956100cea13fdb45b30d705d735a066e700 | Version Fixed In: | 6.20 |
Sentry Crash Report: | https://crash-reports.kde.org/organizations/kde/issues/177583 |
Description
Marco Martin
2024-10-01 14:09:06 UTC
interesting this: #24 0x00007fffec02d793 in Kirigami::Platform::PlatformTheme::colorsChanged() (this=0x5555589c45b0) at /home/diau/kf6/build/kirigami/src/platform/KirigamiPlatform_autogen/include/moc_platformtheme.cpp:531 #25 0x00007fffec02b74f in Kirigami::Platform::PlatformTheme::emitSignalsForChanges(int) (this=0x5555589c45b0, changes=63) at /home/diau/kf6/src/kirigami/src/platform/platformtheme.cpp:888 getting executed when at frame 40 there is: #40 0x00007ffff5bee861 in QQuickItem::~QQuickItem() (this=0x555559a487a0, this=<optimized out>) at ./src/quick/items/qquickitem.cpp:2380 #41 0x00007fff9e44ae95 in KSvg::SvgItem::~SvgItem() (this=0x555559a487a0, __in_chrg=<optimized out>) at /home/diau/kf6/src/ksvg/src/declarativeimports/svgitem.cpp:40 Which explains the aeert message: ASSERT failure in KSvg::SvgItem: "Called object is not of the correct type (class destructor may have already run)", file /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h, line 129 A possibly relevant merge request was started @ https://invent.kde.org/frameworks/ksvg/-/merge_requests/54 similiar issue: https://bugs.kde.org/show_bug.cgi?id=495114 Git commit 6664daab1d3d980b4cb8ab427eb18fb70c9dfd4c by Christoph Cullmann, on behalf of Marco Martin. Committed on 08/12/2024 at 22:39. Pushed by cullmann into branch 'master'. Disconnect signals on destruction Make sure to not call anything on m_svg when this is shutting down Kirigami::PlatformTheme will lose its window at that point so will emit colorschanged, which we shouldn't react to during destructor. This fixes an assert Related: bug 495114 M +4 -0 src/declarativeimports/svgitem.cpp https://invent.kde.org/frameworks/ksvg/-/commit/6664daab1d3d980b4cb8ab427eb18fb70c9dfd4c A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/1933 Git commit cdc7f956100cea13fdb45b30d705d735a066e700 by Arjen Hiemstra. Committed on 08/10/2025 at 13:29. Pushed by ahiemstra into branch 'master'. platform: Skip update() in PlatformTheme if we don't have a window Otherwise we risk emitting change signals for things while we're in the middle of teardown. If we don't have a window we're not going to be visible anyway so we may as well not do anything. This also moves the check from `windowChanged()` to `update()` to make sure we check at the right moment. M +10 -7 src/platform/platformtheme.cpp https://invent.kde.org/frameworks/kirigami/-/commit/cdc7f956100cea13fdb45b30d705d735a066e700 *** Bug 508538 has been marked as a duplicate of this bug. *** |