D10344: Create panel on current screen

Robert Hoffmann noreply at phabricator.kde.org
Fri Jul 27 10:48:09 BST 2018


hoffmannrobert added a comment.


  In D10344#297751 <https://phabricator.kde.org/D10344#297751>, @hoffmannrobert wrote:
  
  > In Wayland there seems to be a problem with QScreen: creating a panel on the second screen crashes plasmashell in QScreen::size(), called by PanelView::panelConfig() (shell/panelview.cpp:130).
  
  
  While debugging a crash which occured when creating a panel on the second screen, I found that in certain screen/graphics hardware configurations (e.g. two screens connected to integrated Intel graphics controller, no screens connected to ext. Nvidia graphics controller) there are screen numbers like 3 or 4. This cannot work, because QGuiApplication::screens() is a QList and Panel:panelConfig() wants to do QScreen *s = QGuiApplication::screens().at(screenNum):
  
  In Panel::panelConfig():
  int screenNum = qMax(screen(), 0);      // screenNum is 4 here
  
  if (QGuiApplication::screens().size() < screenNum) {  // 2 < 4
  
    return KConfigGroup();      // returns empty KConfigGroup --> Crash in Panel::setHeight()
  
  }
  
  This happens in X11 and in Wayland.
  
  Still looking where these screen numbers come from...

REPOSITORY
  R120 Plasma Workspace

REVISION DETAIL
  https://phabricator.kde.org/D10344

To: hoffmannrobert, #plasma
Cc: mart, ngraham, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20180727/be70dae0/attachment-0001.html>


More information about the Plasma-devel mailing list