[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