Hello community,
here is the log from the commit of package kdebase4-workspace for
openSUSE:Factory checked in at 2014-02-28 07:20:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdebase4-workspace (Old)
and /work/SRC/openSUSE:Factory/.kdebase4-workspace.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdebase4-workspace"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdebase4-workspace/kdebase4-workspace.changes
2014-02-20 07:54:56.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.kdebase4-workspace.new/kdebase4-workspace.changes
2014-02-28 07:20:50.000000000 +0100
@@ -1,0 +2,15 @@
+Thu Feb 27 02:22:31 UTC 2014 - [email protected]
+
+- Added various bugfix patches from upstream 4.11 branch:
+ * 0001-Explicitly-request-a-Window-drawable.patch
+ * 0004-align-zoomed-cursor-to-hotspot.patch
+ * 0005-be-more-aggressive-about-exiting-zoom-effect.patch
+ * 0006-spatial-present-windows-zoom-calculation.patch
+ * 0007-fix-frontbuffer-copying-swap-preference.patch
+ * 0008-fix-sendToScreen-for-QuickTiled-windows.patch
+ * 0009-reset-desktopChangedWhileRotating-on-activation.patch
+ * 0010-ensure-to-show-clients-that-need-sessionInteract.patch
+ * 0011-fix-off-by-1-on-multiscreen-toppanel-strutting.patch
+ * 0012-Perform-the-systemd-version-evaluation-through-a-reg.patch
+
+-------------------------------------------------------------------
New:
----
0001-Explicitly-request-a-Window-drawable.patch
0004-align-zoomed-cursor-to-hotspot.patch
0005-be-more-aggressive-about-exiting-zoom-effect.patch
0006-spatial-present-windows-zoom-calculation.patch
0007-fix-frontbuffer-copying-swap-preference.patch
0008-fix-sendToScreen-for-QuickTiled-windows.patch
0009-reset-desktopChangedWhileRotating-on-activation.patch
0010-ensure-to-show-clients-that-need-sessionInteract.patch
0011-fix-off-by-1-on-multiscreen-toppanel-strutting.patch
0012-Perform-the-systemd-version-evaluation-through-a-reg.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdebase4-workspace.spec ++++++
--- /var/tmp/diff_new_pack.PuLx5K/_old 2014-02-28 07:20:51.000000000 +0100
+++ /var/tmp/diff_new_pack.PuLx5K/_new 2014-02-28 07:20:51.000000000 +0100
@@ -145,6 +145,26 @@
Patch65: kdm-backend-session.patch
# PATCH-FIX-OPENSUSE add-calculator-hotkey.patch -- Adds hotkey for Calculator
button (bnc#726550)
Patch66: add-calculator-hotkey.patch
+# PATCH-FIX-UPSTREAM 0001-Explicitly-request-a-Window-drawable.patch
+Patch100: 0001-Explicitly-request-a-Window-drawable.patch
+# PATCH-FIX-UPSTREAM 0004-align-zoomed-cursor-to-hotspot.patch
+Patch101: 0004-align-zoomed-cursor-to-hotspot.patch
+# PATCH-FIX-UPSTREAM 0005-be-more-aggressive-about-exiting-zoom-effect.patch
+Patch102: 0005-be-more-aggressive-about-exiting-zoom-effect.patch
+# PATCH-FIX-UPSTREAM 0006-spatial-present-windows-zoom-calculation.patch
+Patch103: 0006-spatial-present-windows-zoom-calculation.patch
+# PATCH-FIX-UPSTREAM 0007-fix-frontbuffer-copying-swap-preference.patch
+Patch104: 0007-fix-frontbuffer-copying-swap-preference.patch
+# PATCH-FIX-UPSTREAM 0008-fix-sendToScreen-for-QuickTiled-windows.patch
+Patch105: 0008-fix-sendToScreen-for-QuickTiled-windows.patch
+# PATCH-FIX-UPSTREAM 0009-reset-desktopChangedWhileRotating-on-activation.patch
+Patch106: 0009-reset-desktopChangedWhileRotating-on-activation.patch
+# PATCH-FIX-UPSTREAM
0010-ensure-to-show-clients-that-need-sessionInteract.patch
+Patch107: 0010-ensure-to-show-clients-that-need-sessionInteract.patch
+# PATCH-FIX-UPSTREAM 0011-fix-off-by-1-on-multiscreen-toppanel-strutting.patch
+Patch108: 0011-fix-off-by-1-on-multiscreen-toppanel-strutting.patch
+# PATCH-FIX-UPSTREAM
0012-Perform-the-systemd-version-evaluation-through-a-reg.patch
+Patch109: 0012-Perform-the-systemd-version-evaluation-through-a-reg.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: %{name}-branding = %{_kde_branding_version}
Requires: %{name}-ksysguardd = %{version}
@@ -359,6 +379,16 @@
%patch64 -p1
%patch65 -p1
%patch66 -p1
+%patch100 -p1
+%patch101 -p1
+%patch102 -p1
+%patch103 -p1
+%patch104 -p1
+%patch105 -p1
+%patch106 -p1
+%patch107 -p1
+%patch108 -p1
+%patch109 -p1
cp %{SOURCE3} kwin/effects/cube/data/cubecap.png
++++++ 0001-Explicitly-request-a-Window-drawable.patch ++++++
>From ea7653821e83dc691ebcf8254c03eedc82c02d5f Mon Sep 17 00:00:00 2001
From: Ralf Jung <[email protected]>
Date: Fri, 21 Feb 2014 17:42:40 +0100
Subject: [PATCH 01/12] Explicitly request a Window-drawable
REVIEW: 115937
---
kwin/glxbackend.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/kwin/glxbackend.cpp b/kwin/glxbackend.cpp
index ef2a989..172b32a 100644
--- a/kwin/glxbackend.cpp
+++ b/kwin/glxbackend.cpp
@@ -265,6 +265,7 @@ bool GlxBackend::initFbConfig()
{
const int attribs[] = {
GLX_RENDER_TYPE, GLX_RGBA_BIT,
+ GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT,
GLX_RED_SIZE, 1,
GLX_GREEN_SIZE, 1,
GLX_BLUE_SIZE, 1,
--
1.9.0
++++++ 0004-align-zoomed-cursor-to-hotspot.patch ++++++
>From 170f7b9aaeda32422e0df79e9963dbaabf0c31ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <[email protected]>
Date: Mon, 3 Feb 2014 21:02:10 +0100
Subject: [PATCH 04/12] align zoomed cursor to hotspot
BUG: 330679
FIXED-IN: 4.11.7
REVIEW: 115453
---
kwin/effects/zoom/zoom.cpp | 3 ++-
kwin/effects/zoom/zoom.h | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/kwin/effects/zoom/zoom.cpp b/kwin/effects/zoom/zoom.cpp
index b06583d..343c957 100644
--- a/kwin/effects/zoom/zoom.cpp
+++ b/kwin/effects/zoom/zoom.cpp
@@ -182,6 +182,7 @@ void ZoomEffect::recreateTexture()
// turn the XcursorImage into a QImage that will be used to create the
GLTexture/XRenderPicture.
imageWidth = ximg->width;
imageHeight = ximg->height;
+ cursorHotSpot = QPoint(ximg->xhot, ximg->yhot);
QImage img((uchar*)ximg->pixels, imageWidth, imageHeight,
QImage::Format_ARGB32_Premultiplied);
if (effects->isOpenGLCompositing())
texture.reset(new GLTexture(img));
@@ -331,7 +332,7 @@ void ZoomEffect::paintScreen(int mask, QRegion region,
ScreenPaintData& data)
w *= zoom;
h *= zoom;
}
- const QPoint p = effects->cursorPos();
+ const QPoint p = effects->cursorPos() - cursorHotSpot;
QRect rect(p.x() * zoom + data.xTranslation(), p.y() * zoom +
data.yTranslation(), w, h);
if (texture) {
diff --git a/kwin/effects/zoom/zoom.h b/kwin/effects/zoom/zoom.h
index 7c49c59..604655e 100644
--- a/kwin/effects/zoom/zoom.h
+++ b/kwin/effects/zoom/zoom.h
@@ -112,6 +112,7 @@ private:
MousePointerType mousePointer;
int focusDelay;
QPoint cursorPoint;
+ QPoint cursorHotSpot;
QPoint focusPoint;
QPoint prevPoint;
QTime lastMouseEvent;
--
1.9.0
++++++ 0005-be-more-aggressive-about-exiting-zoom-effect.patch ++++++
>From fe42ff9c57b5c975b3fed58b9c536bf05f91b8ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <[email protected]>
Date: Mon, 3 Feb 2014 21:03:26 +0100
Subject: [PATCH 05/12] be more aggressive about exiting zoom effect
CCBUG: 289336
REVIEW: 115453
---
kwin/effects/zoom/zoom.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kwin/effects/zoom/zoom.cpp b/kwin/effects/zoom/zoom.cpp
index 343c957..3918c59 100644
--- a/kwin/effects/zoom/zoom.cpp
+++ b/kwin/effects/zoom/zoom.cpp
@@ -398,7 +398,7 @@ void ZoomEffect::zoomOut()
{
source_zoom = zoom;
target_zoom /= zoomFactor;
- if (target_zoom < 1) {
+ if ((zoomFactor > 1 && target_zoom < 1.01) || (zoomFactor < 1 &&
target_zoom > 0.99)) {
target_zoom = 1;
if (polling) {
polling = false;
--
1.9.0
++++++ 0006-spatial-present-windows-zoom-calculation.patch ++++++
>From 6e5e5ca5ab580e8f14ac6a4082ba82efd68d47df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <[email protected]>
Date: Tue, 4 Feb 2014 19:00:08 +0100
Subject: [PATCH 06/12] spatial present windows zoom calculation
instead 1/16 of the area, 1/4 of the bigger and 1/32
of the smaller screen/window ratio
(ie. a shaded window would typically zoom to 1/32 of the screen height)
BUG: 298402
FIXED-IN: 4.11.7
REVIEW: 115455
---
kwin/effects/presentwindows/presentwindows.cpp | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/kwin/effects/presentwindows/presentwindows.cpp
b/kwin/effects/presentwindows/presentwindows.cpp
index 14e2602..eedb0b5 100755
--- a/kwin/effects/presentwindows/presentwindows.cpp
+++ b/kwin/effects/presentwindows/presentwindows.cpp
@@ -340,7 +340,14 @@ void PresentWindowsEffect::paintWindow(EffectWindow *w,
int mask, QRegion region
QRect area = effects->clientArea(FullScreenArea, w);
QSizeF effSize(w->width()*data.xScale(),
w->height()*data.yScale());
- float tScale = sqrt((area.width()*area.height()) /
(16.0*effSize.width()*effSize.height()));
+ const float xr = area.width()/effSize.width();
+ const float yr = area.height()/effSize.height();
+ float tScale = 0.0;
+ if (xr < yr) {
+ tScale = qMax(xr/4.0, yr/32.0);
+ } else {
+ tScale = qMax(xr/32.0, yr/4.0);
+ }
if (tScale < 1.05) {
tScale = 1.05;
}
--
1.9.0
++++++ 0007-fix-frontbuffer-copying-swap-preference.patch ++++++
>From b00cc9cda191795ceae874526c7bd57b2a832982 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <[email protected]>
Date: Thu, 6 Feb 2014 00:16:06 +0100
Subject: [PATCH 07/12] fix frontbuffer copying swap preference
REVIEW: 115523
CCBUG: 330794
CCBUG: 322060
---
kwin/scene_opengl.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kwin/scene_opengl.cpp b/kwin/scene_opengl.cpp
index 27c9ab8..77aec3c 100644
--- a/kwin/scene_opengl.cpp
+++ b/kwin/scene_opengl.cpp
@@ -398,7 +398,7 @@ qint64 SceneOpenGL::paint(QRegion damage, ToplevelList
toplevels)
glReadBuffer(GL_FRONT);
copyPixels(displayRegion - validRegion);
glReadBuffer(GL_BACK);
- damage = displayRegion;
+ validRegion = displayRegion;
}
#endif
--
1.9.0
++++++ 0008-fix-sendToScreen-for-QuickTiled-windows.patch ++++++
>From ccf7b2bb3aaebaa2e1a49a66a6de86e9517ff28b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <[email protected]>
Date: Thu, 6 Feb 2014 18:36:11 +0100
Subject: [PATCH 08/12] fix sendToScreen for QuickTiled windows
two-fold issue
a) setMaximize implicitly sets QuickTileMaximize; setting it again toggles it
off
b) setting quicktile mode needs to happen in keyboard mode and thenn the target
still depends on the current windo position, so the untiled window needs to
be in a sane location (while geom_restore will typically be off-screen when
quick tiling by mouse)
BUG: 330819
FIXED-IN:4.11.7
REVIEW: 115521
---
kwin/geometry.cpp | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/kwin/geometry.cpp b/kwin/geometry.cpp
index 87edec4..2e3f26f 100644
--- a/kwin/geometry.cpp
+++ b/kwin/geometry.cpp
@@ -3294,11 +3294,20 @@ void Client::sendToScreen(int newScreen)
// so we clear the state first
MaximizeMode maxMode = maximizeMode();
QuickTileMode qtMode = (QuickTileMode)quick_tile_mode;
- maximize(MaximizeRestore);
- setQuickTileMode(QuickTileNone);
+ if (maxMode != MaximizeRestore)
+ maximize(MaximizeRestore);
+ if (qtMode != QuickTileNone)
+ setQuickTileMode(QuickTileNone, true);
QRect oldScreenArea = workspace()->clientArea(MaximizeArea, this);
QRect screenArea = workspace()->clientArea(MaximizeArea, newScreen,
desktop());
+
+ // the window can have its center so that the position correction moves
the new center onto
+ // the old screen, what will tile it where it is. Ie. the screen is not
changed
+ // this happens esp. with electric border quicktiling
+ if (qtMode != QuickTileNone)
+ keepInArea(oldScreenArea);
+
QRect oldGeom = geometry();
QRect newGeom = oldGeom;
// move the window to have the same relative position to the center of the
screen
@@ -3328,8 +3337,8 @@ void Client::sendToScreen(int newScreen)
// eg. setting QuickTileNone would break maximization
if (maxMode != MaximizeRestore)
maximize(maxMode);
- if (qtMode != QuickTileNone)
- setQuickTileMode(qtMode);
+ if (qtMode != QuickTileNone && qtMode != quick_tile_mode)
+ setQuickTileMode(qtMode, true);
ClientList tso = workspace()->ensureStackingOrder(transients());
for (ClientList::ConstIterator it = tso.constBegin(), end =
tso.constEnd(); it != end; ++it)
--
1.9.0
++++++ 0009-reset-desktopChangedWhileRotating-on-activation.patch ++++++
>From 3f1b48c65913e06047c38ff07760d30d2053ce96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <[email protected]>
Date: Fri, 21 Feb 2014 15:00:55 +0100
Subject: [PATCH 09/12] reset desktopChangedWhileRotating on activation
BUG: 331148
FIXED-IN: 4.11.7
REVIEW: 115942
---
kwin/effects/cube/cube.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/kwin/effects/cube/cube.cpp b/kwin/effects/cube/cube.cpp
index b8b20a3..0ad1c2b 100644
--- a/kwin/effects/cube/cube.cpp
+++ b/kwin/effects/cube/cube.cpp
@@ -1922,6 +1922,7 @@ void CubeEffect::setActive(bool active)
verticalRotating = false;
manualAngle = 0.0;
manualVerticalAngle = 0.0;
+ desktopChangedWhileRotating = false;
if (reflection) {
QRect rect = effects->clientArea(FullArea, activeScreen,
effects->currentDesktop());
#ifndef KWIN_HAVE_OPENGLES
--
1.9.0
++++++ 0010-ensure-to-show-clients-that-need-sessionInteract.patch ++++++
>From 3e64e642f831e02daee2802db4234314d12208f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <[email protected]>
Date: Sat, 22 Feb 2014 15:55:56 +0100
Subject: [PATCH 10/12] ensure to show clients that need sessionInteract
transients of minimized windows are not shown, thus missed
the sessionSavin branch
since window input is also largely blocked (eg. taskbar!)
they cannot easily be unshown (including their transients)
and thus block logout forever
REVIEW: 115955
---
kwin/manage.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kwin/manage.cpp b/kwin/manage.cpp
index 473d17e..55690ca 100644
--- a/kwin/manage.cpp
+++ b/kwin/manage.cpp
@@ -453,7 +453,7 @@ bool Client::manage(xcb_window_t w, bool isMapped)
init_minimize = false; // SELI TODO: Even e.g. for
NET::Utility?
}
// If a dialog is shown for minimized window, minimize it too
- if (!init_minimize && isTransient() && mainClients().count() > 0) {
+ if (!init_minimize && isTransient() && mainClients().count() > 0 &&
!workspace()->sessionSaving()) {
bool visible_parent = false;
// Use allMainClients(), to include also main clients of group
transients
// that have been optimized out in Client::checkGroupTransients()
@@ -568,6 +568,7 @@ bool Client::manage(xcb_window_t w, bool isMapped)
for (ClientList::ConstIterator it = mainclients.constBegin();
it != mainclients.constEnd(); ++it) {
(*it)->setSessionInteract(true);
+ (*it)->unminimize();
}
} else if (allow) {
// also force if activation is allowed
--
1.9.0
++++++ 0011-fix-off-by-1-on-multiscreen-toppanel-strutting.patch ++++++
>From 4737dac68b04963bc79febeae1c5fbcbb1a995d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <[email protected]>
Date: Fri, 14 Feb 2014 00:14:53 +0100
Subject: [PATCH 11/12] fix off-by-1 on multiscreen toppanel strutting
---
kwin/geometry.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kwin/geometry.cpp b/kwin/geometry.cpp
index 2e3f26f..63906aa 100644
--- a/kwin/geometry.cpp
+++ b/kwin/geometry.cpp
@@ -3011,7 +3011,7 @@ void Client::handleMoveResize(int x, int y, int x_root,
int y_root)
foreach (const QRect &r, strut.rects()) {
if (r.top() == 0 && r.width() > r.height() && //
"top panel"
r.intersects(moveResizeGeom) &&
moveResizeGeom.top() < r.bottom()) {
- newTitleTop = r.bottom();
+ newTitleTop = r.bottom() + 1;
break;
}
}
--
1.9.0
++++++ 0012-Perform-the-systemd-version-evaluation-through-a-reg.patch ++++++
>From 5dc2b9a5c09d95ba9a17ac00056213082feb8d90 Mon Sep 17 00:00:00 2001
From: Raymond Wooninck <[email protected]>
Date: Tue, 25 Feb 2014 19:59:36 +0100
Subject: [PATCH 12/12] Perform the systemd version evaluation through a
regular expression to be more flexible for changes in the version string that
systemd returns
REVIEW: 115271
---
.../daemon/backends/upower/powerdevilupowerbackend.cpp | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp
b/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp
index eae5436..94b20f1 100644
--- a/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp
+++ b/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp
@@ -40,13 +40,17 @@
bool checkSystemdVersion(uint requiredVersion)
{
- bool ok;
QDBusInterface systemdIface("org.freedesktop.systemd1",
"/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager",
QDBusConnection::systemBus(), 0);
- const uint version = systemdIface.property("Version").toString().section('
', 1).toUInt(&ok);
- if (ok) {
- return (version >= requiredVersion);
+
+ const QString reply = systemdIface.property("Version").toString();
+
+ QRegExp expsd("(systemd )?([0-9]+)");
+
+ if (expsd.exactMatch(reply)) {
+ const uint version = expsd.cap(2).toUInt();
+ return (version >= requiredVersion);
}
// Since version 1.11 Upstart user sessions implement the exact same API
as logind
--
1.9.0
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]