From 993983b3c31022add3032b88f729d624b30d7664 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Tue, 6 Sep 2016 00:31:58 +0200 Subject: [PATCH] Fix panelView updateEnabledBorders being skipped Summary: Sometimes the left/right panel edge shadows don't get drawn. A resize doesn't always call positionPanel so it never gets updated on all size changes. Putting it in the event handlers rather than in the setting, means it will never be missed again. Test Plan: Set panel to fill width Resizing now shows correct corner Reviewers: #plasma Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D2668 --- shell/panelview.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shell/panelview.cpp b/shell/panelview.cpp index 2c954a9cf..660723c99 100644 --- a/shell/panelview.cpp +++ b/shell/panelview.cpp @@ -365,8 +365,6 @@ void PanelView::positionPanel() } KWindowEffects::slideWindow(winId(), slideLocation, -1); - - updateEnabledBorders(); } QRect PanelView::geometryByDistance(int distance) const @@ -453,7 +451,7 @@ void PanelView::resizePanel() setMaximumSize(QSize(maxSize, thickness())); resize(qBound(minSize, m_contentLength, maxSize), thickness()); } - //positionPanel will be called implicitly from resizeEvent + //position will be updated implicitly from resizeEvent } void PanelView::restore() @@ -626,6 +624,7 @@ void PanelView::setAutoHideEnabled(bool enabled) void PanelView::resizeEvent(QResizeEvent *ev) { updateMask(); + updateEnabledBorders(); //don't setGeometry() to make really sure we aren't doing a resize loop const QPoint pos = geometryByDistance(m_distance).topLeft(); setPosition(pos); @@ -639,6 +638,7 @@ void PanelView::resizeEvent(QResizeEvent *ev) void PanelView::moveEvent(QMoveEvent *ev) { updateMask(); + updateEnabledBorders(); m_strutsTimer.start(STRUTSTIMERDELAY); PlasmaQuick::ContainmentView::moveEvent(ev); }