Review Request 122184: Remove seemingly outdated hack deleting the currently used QStyle at teardown
David Edmundson
david at davidedmundson.co.uk
Thu Jan 22 12:51:34 UTC 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122184/
-----------------------------------------------------------
(Updated Jan. 22, 2015, 12:51 p.m.)
Status
------
This change has been marked as submitted.
Review request for Plasma, David Faure and Hugo Pereira Da Costa.
Repository: oxygen
Description
-------
According to the comment we need to delete the qstyle object before the
plugin if the application exits with exit(). A small test showed this is
no longer the case.
More importantly this patch fixes a crash we see when styles were switched at
runtime and the app uses exit().
Because Breeze has a similar delete line the first would run deleting
the style object but leaving a dangling pointer, the second would run
and crash.
Even if they only deleted their own style, both need to check the active style which means the second one is always accessing a dangling pointer.
----
A similar approach needs to go into Breeze too. I shall copy that if this gets in.
Diffs
-----
kstyle/oxygenstyleplugin.cpp 409ec13
Diff: https://git.reviewboard.kde.org/r/122184/diff/
Testing
-------
Wrote a unit test that calls exit(0) on button press. This used to crash if we changed theme and then pressed the button. Now it no longer crashes ever.
Checked that kglobalaccel5 no longer crashes on exit after changing Breeze->Oxygen and does not crash after changing from Oxygen->Breeze
Thanks,
David Edmundson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20150122/20b0170f/attachment.html>
More information about the Plasma-devel
mailing list