D8285: Unload poller's connection thread earlier in teardown
David Edmundson
noreply at phabricator.kde.org
Sat Oct 14 05:21:37 UTC 2017
davidedmundson created this revision.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY
KIdleTime is a global static, it's destructor it deletes the backend in
a deleteLater; This is *after* the app has been deleted.
This means we end up deleting Poller's ConnectionThread after the static
QVector managing the ConnectionThreads in the main app has been deleted,
leading to a confusing crash.
We can fix this by deleting the connection thread in unload rather than
the actual object destruction.
This fixes a crash on app close, most notably the recursive drkonqi
crash.
TEST PLAN
Verified what was happening by subclassing the vector and adding debug
Had the drkonqi crash loop, made this change, no more crashes
REPOSITORY
R130 Frameworks integration plugin using KWayland
BRANCH
master
REVISION DETAIL
https://phabricator.kde.org/D8285
AFFECTED FILES
src/idletime/poller.cpp
src/idletime/poller.h
To: davidedmundson
Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20171014/0b1fda00/attachment-0001.html>
More information about the Plasma-devel
mailing list