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