Review Request 126961: Fix the infamous Plasma::Applet::Actions crash

David Edmundson david at davidedmundson.co.uk
Tue Feb 2 13:23:48 UTC 2016



> On Feb. 2, 2016, 12:43 p.m., Sebastian K├╝gler wrote:
> > shell/shellcorona.cpp, line 629
> > <https://git.reviewboard.kde.org/r/126961/diff/1/?file=442514#file442514line629>
> >
> >     m_screenConfiguration may still be a nullptr here, since it's set only after GetConfigOperation returns.
> >     
> >     That may well be the reason why the sync QScreen's count is used here, but this leads to problems down the road, as you note.
> >     
> >     We could make sure we have the number of screens returned here by making GetConfigOperation sync, so using its exec() and thus blocking in the setShell call.

ooh good catch.

I /think/ a simple if (null) return 0; is semantically correct.
As this should be a count of screens plasma knows about.


- David


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


On Feb. 1, 2016, 11:08 p.m., David Edmundson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126961/
> -----------------------------------------------------------
> 
> (Updated Feb. 1, 2016, 11:08 p.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> We were mixing KScreen and QScreen API badly.
> 
> Corona.cpp checks we are requesting a containment for a valid screen
> if (screen >= 0 && screen < numScreens()) {
> 
> This fails as numScreens() is Qt API based, whereas the signal we're
> adding the output for is ShellCorona::addOutput so we have an effective race condition.
> 
> BUG: 351777
> 
> 
> Diffs
> -----
> 
>   shell/shellcorona.cpp 762e503bf59fe648fb0f5b76a36229aa43c563e5 
> 
> Diff: https://git.reviewboard.kde.org/r/126961/diff/
> 
> 
> Testing
> -------
> 
> Started Plasma on dual screen.
> 
> Ideally we need to do more testing before backporting, as that entire codebase is a disgrace.
> 
> 
> Thanks,
> 
> David Edmundson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160202/2dba9b7a/attachment-0001.html>


More information about the Plasma-devel mailing list