Hello community, here is the log from the commit of package plasma5-workspace for openSUSE:Factory checked in at 2015-03-30 19:33:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plasma5-workspace (Old) and /work/SRC/openSUSE:Factory/.plasma5-workspace.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "plasma5-workspace" Changes: -------- --- /work/SRC/openSUSE:Factory/plasma5-workspace/plasma5-workspace.changes 2015-03-27 09:40:43.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.plasma5-workspace.new/plasma5-workspace.changes 2015-03-30 19:33:46.000000000 +0200 @@ -1,0 +2,6 @@ +Fri Mar 27 17:09:18 UTC 2015 - hrvoje.senjan@gmail.com + +- Added 0001-Fix-one-pixel-gap-between-screenedge-and-right-place.patch + (kde#339323, kde#340549, boo#924074) + +------------------------------------------------------------------- New: ---- 0001-Fix-one-pixel-gap-between-screenedge-and-right-place.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plasma5-workspace.spec ++++++ --- /var/tmp/diff_new_pack.fSt1RZ/_old 2015-03-30 19:33:47.000000000 +0200 +++ /var/tmp/diff_new_pack.fSt1RZ/_new 2015-03-30 19:33:47.000000000 +0200 @@ -35,6 +35,7 @@ # PATCHES 100-1000 and above are from upstream 5.2 branch Patch100: 0001-Workaround-the-lockscreen-password-field-focus-issue.patch # PATCHES 1000 and above are from upstream master/5.3 branch +Patch1000: 0001-Fix-one-pixel-gap-between-screenedge-and-right-place.patch BuildRequires: alsa-devel BuildRequires: baloo5-devel >= %{version} BuildRequires: kactivities5-devel >= 5.6.0 @@ -187,6 +188,7 @@ %patch1 -p1 %patch2 -p1 %patch100 -p1 +%patch1000 -p1 %build %cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5 ++++++ 0001-Fix-one-pixel-gap-between-screenedge-and-right-place.patch ++++++
From e4c083449aee849cf316f9bd18b06e2d37684608 Mon Sep 17 00:00:00 2001 From: Bhushan Shah
Date: Thu, 26 Mar 2015 21:20:11 +0530 Subject: [PATCH 1/1] Fix one pixel gap between screenedge and right placed vertical panel
Appearantly right() / bottomRight() / topRight() returns values with 1 pixel x off for historical reasons and hence 1px gap. This causes the autohide panel not hiding automatically. BUG: 339323 BUG: 340549 FIXED-IN: 5.3 REVIEW: 123136 (cherry picked from commit 975e5009c176eb378daa5c8f74cd4cffb64ff459) --- shell/panelview.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/shell/panelview.cpp b/shell/panelview.cpp index 48687ba5c2e8d41722fe3be1d078319019cb4d0b..d934da1aeb0c13da0ec25d55e32528635bd135ad 100644 --- a/shell/panelview.cpp +++ b/shell/panelview.cpp @@ -426,7 +426,7 @@ QRect PanelView::geometryByDistance(int distance) const position = QPoint(QPoint(s->geometry().center().x(), s->geometry().top()) + QPoint(m_offset - size().width()/2, distance)); break; case Qt::AlignRight: - position = QPoint(s->geometry().topRight() - QPoint(m_offset + size().width(), distance)); + position = QPoint(QPoint(s->geometry().x() + s->geometry().width(), s->geometry().y()) - QPoint(m_offset + size().width(), distance)); break; case Qt::AlignLeft: default: @@ -440,7 +440,7 @@ QRect PanelView::geometryByDistance(int distance) const position = QPoint(QPoint(s->geometry().left(), s->geometry().center().y()) + QPoint(distance, m_offset - size().height()/2)); break; case Qt::AlignRight: - position = QPoint(s->geometry().bottomLeft() - QPoint(distance, m_offset + size().height())); + position = QPoint(QPoint(s->geometry().left(), s->geometry().y() + s->geometry().height()) - QPoint(distance, m_offset + size().height())); break; case Qt::AlignLeft: default: @@ -451,14 +451,15 @@ QRect PanelView::geometryByDistance(int distance) const case Plasma::Types::RightEdge: switch (m_alignment) { case Qt::AlignCenter: - position = QPoint(QPoint(s->geometry().right(), s->geometry().center().y()) - QPoint(thickness() + distance, 0) + QPoint(0, m_offset - size().height()/2)); + // Never use rect.right(); for historical reasons it returns left() + width() - 1; see http://doc.qt.io/qt-5/qrect.html#right + position = QPoint(QPoint(s->geometry().x() + s->geometry().width(), s->geometry().center().y()) - QPoint(thickness() + distance, 0) + QPoint(0, m_offset - size().height()/2)); break; case Qt::AlignRight: - position = QPoint(s->geometry().bottomRight() - QPoint(thickness() + distance, 0) - QPoint(0, m_offset + size().height())); + position = QPoint(QPoint(s->geometry().x() + s->geometry().width(), s->geometry().y() + s->geometry().height()) - QPoint(thickness() + distance, 0) - QPoint(0, m_offset + size().height())); break; case Qt::AlignLeft: default: - position = QPoint(s->geometry().topRight() - QPoint(thickness() + distance, 0) + QPoint(0, m_offset)); + position = QPoint(QPoint(s->geometry().x() + s->geometry().width(), s->geometry().y()) - QPoint(thickness() + distance, 0) + QPoint(0, m_offset)); } break; -- 2.3.3