From 0b3766221a0b924375a77cbc58500980e8bcade7 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Wed, 31 Jan 2018 19:39:06 +0200 Subject: [PATCH] fix in multi-screen environment --in some cases the containment screen and the dockView screen arent the same for onPrimary case in order to calculate property the dock geometry. This is important fix! --- app/dockview.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/dockview.cpp b/app/dockview.cpp index 21677f8ee..56c69c54c 100644 --- a/app/dockview.cpp +++ b/app/dockview.cpp @@ -746,7 +746,8 @@ inline void DockView::syncGeometry() QRect availableScreenRect{this->screen()->geometry()}; if (formFactor() == Plasma::Types::Vertical) { - freeRegion = corona()->availableScreenRegion(this->containment()->screen()); + int fixedScreen = onPrimary() ? dockCorona->screenPool()->primaryScreenId() : this->containment()->screen(); + freeRegion = corona()->availableScreenRegion(fixedScreen); maximumRect = maximumNormalGeometry(); QRegion availableRegion = freeRegion.intersected(maximumRect); availableScreenRect = freeRegion.intersected(maximumRect).boundingRect();