Summary: | Plasma Crash on attempting to change desktop settings | ||
---|---|---|---|
Product: | [Plasma] kactivitymanagerd | Reporter: | Vishnu <vishnugb> |
Component: | general | Assignee: | Ivan Čukić <ivan.cukic> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | a.mccullough, ateeb_ahmed33, bartkessels, bhush94, d.yuyukin, drewtcable, droserasprout.ext, kde, lj910424, marchelo2212, plasma-bugs |
Priority: | NOR | Keywords: | drkonqi |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kactivities/6b83071705add65a5c0b4cf1b808c8ae8137967b | Version Fixed In: | |
Sentry Crash Report: |
Description
Vishnu
2016-01-02 16:17:34 UTC
#62 0x00007fad45ac1acd in QDialog::exec() () from /usr/lib/libQt5Widgets.so.5 #63 0x00007fab0c3d8c7c in ?? () from /usr/lib/qt/qml/org/kde/activities/settings/libkactivitiessettingsplugin.so Gah. You can't exec() from inside QML. You'll get crashes. (In reply to David Edmundson from comment #1) > Gah. You can't exec() from inside QML. You'll get crashes. I don't know what that means. Am I not supposed to do that? @Vishnu The comment was for me :) @David Can you elaborate why modal dialogs can not be used in qml? http://doc.qt.io/qt-5/qtquick-performance.html Note: A pattern which is tempting, but should never be used, is creating your own QEventLoop or calling QCoreApplication::processEvents() in order to avoid blocking within a C++ code block invoked from QML. This is dangerous, because when an event loop is entered in a signal handler or binding, the QML engine continues to run other bindings, animations, transitions, etc. Those bindings can then cause side effects which, for example, destroy the hierarchy containing your event loop. -- You'd think it should be safe if you launch it from a queued connection so that the heirachy doesn't contain anything on the QML side.. however we still got crashes when kickoff did that. Didn't really understand that. *** Bug 357904 has been marked as a duplicate of this bug. *** Git commit 6b83071705add65a5c0b4cf1b808c8ae8137967b by David Edmundson. Committed on 02/02/2016 at 13:23. Pushed by davidedmundson into branch 'master'. Don't call exec() from QML This is dangerous and leads to crashes as the QML processing still continues in the new event loop. Ideally we should never block the plasmashell UI anyway. This changes it for a non blocking version. REVIEW: 126945 M +6 -2 src/workspace/settings/imports/activitysettings.cpp http://commits.kde.org/kactivities/6b83071705add65a5c0b4cf1b808c8ae8137967b *** Bug 359355 has been marked as a duplicate of this bug. *** *** Bug 359617 has been marked as a duplicate of this bug. *** *** Bug 360626 has been marked as a duplicate of this bug. *** *** Bug 360744 has been marked as a duplicate of this bug. *** *** Bug 361261 has been marked as a duplicate of this bug. *** *** Bug 362145 has been marked as a duplicate of this bug. *** |