Review Request 122184: Remove seemingly outdated hack deleting the currently used QStyle at teardown

Hugo Pereira Da Costa hugo.pereira at free.fr
Wed Jan 21 19:24:18 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122184/#review74495
-----------------------------------------------------------


you need to make sure the code also compiles with Qt4 (cmake -DUSE_KDE4=1)
This probably requires runtime checked connect, and a proper Q_SLOT
You can use #if OXYGEN_USE_KDE4, if you want to conditionally use runtime or compiletime connect depending on Qt version.

- Hugo Pereira Da Costa


On Jan. 21, 2015, 4:57 p.m., David Edmundson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/122184/
> -----------------------------------------------------------
> 
> (Updated Jan. 21, 2015, 4:57 p.m.)
> 
> 
> 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/20150121/718af6f0/attachment.html>


More information about the Plasma-devel mailing list