Skip to content
Commit e27d843c authored by David Edmundson's avatar David Edmundson
Browse files

Unload poller's connection thread earlier in teardown

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

Reviewers: graesslin

Reviewed By: graesslin

Subscribers: anthonyfieroni, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D8285
parent e791e7cf
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment