[Differential] [Request, 4 lines] D2970: [shell] Fix crash when moving panel between two monitors
bshah (Bhushan Shah)
noreply at phabricator.kde.org
Thu Oct 6 17:18:45 UTC 2016
bshah created this revision.
bshah added reviewers: Plasma, mart.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY
When moving panel between two screens there is time when panel is on
edge of screen and screenToFollow is null, at this point if any of the
resize or position operation gets triggered, it will attempt to get
screenToFollow's size or geometry and will result in crash as for
sometime screenToFollow is null.
This is quite a timing related bug, if you manage to move panel in time
there would be no crash otherwise there are 3-4 different crashes are
possible.
To solve this we avoid setting null values for screenToFollow, this
should not happen ideally, but setting breakpoint on setScreenToFollow
shows that null value is set from QML and should be investigated.
BUG: 369228
TEST PLAN
moved panel around like crazy, can't reproduce crash on
QScreen::size or QScreen::geometry, without patch it would crash 100%
REPOSITORY
rPLASMAWORKSPACE Plasma Workspace
BRANCH
fix-panelmove-crash (branched from Plasma/5.8)
REVISION DETAIL
https://phabricator.kde.org/D2970
AFFECTED FILES
shell/panelview.cpp
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: bshah, #plasma, mart
Cc: plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20161006/3b07a4cc/attachment.html>
More information about the Plasma-devel
mailing list