summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Chvatal <scarabeus@gentoo.org>2010-02-03 20:32:51 +0000
committerTomas Chvatal <scarabeus@gentoo.org>2010-02-03 20:32:51 +0000
commitef8cc5db6f0fbceae128159223b3f3cb4f159a0f (patch)
treefc44b23d2e831ba49e8b96338742973da451e10f /kde-base/kwin
parentamd64/x86 stable, bug #301071 (diff)
downloadhistorical-ef8cc5db6f0fbceae128159223b3f3cb4f159a0f.tar.gz
historical-ef8cc5db6f0fbceae128159223b3f3cb4f159a0f.tar.bz2
historical-ef8cc5db6f0fbceae128159223b3f3cb4f159a0f.zip
Fix bug #295511. This time proper package.
Package-Manager: portage-2.2_rc62/cvs/Linux x86_64
Diffstat (limited to 'kde-base/kwin')
-rw-r--r--kde-base/kwin/ChangeLog9
-rw-r--r--kde-base/kwin/Manifest15
-rw-r--r--kde-base/kwin/files/4.3.5-magiclamp-minimize.patch151
-rw-r--r--kde-base/kwin/kwin-4.3.5-r1.ebuild (renamed from kde-base/kwin/kwin-4.3.5.ebuild)3
4 files changed, 174 insertions, 4 deletions
diff --git a/kde-base/kwin/ChangeLog b/kde-base/kwin/ChangeLog
index 11d458b8eb44..6a37232f7cc4 100644
--- a/kde-base/kwin/ChangeLog
+++ b/kde-base/kwin/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for kde-base/kwin
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/ChangeLog,v 1.186 2010/01/28 11:28:27 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/ChangeLog,v 1.187 2010/02/03 20:32:51 scarabeus Exp $
+
+*kwin-4.3.5-r1 (03 Feb 2010)
+
+ 03 Feb 2010; Tomáš Chvátal <scarabeus@gentoo.org>
+ +files/4.3.5-magiclamp-minimize.patch, -kwin-4.3.5.ebuild,
+ +kwin-4.3.5-r1.ebuild:
+ Fix bug #295511. This time proper package.
28 Jan 2010; Tomáš Chvátal <scarabeus@gentoo.org> kwin-4.3.5.ebuild:
Kwin needs opengl patch even for 4.3.5. Per bug #302548
diff --git a/kde-base/kwin/Manifest b/kde-base/kwin/Manifest
index 28256526aed1..ec163f032bdd 100644
--- a/kde-base/kwin/Manifest
+++ b/kde-base/kwin/Manifest
@@ -1,9 +1,20 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX 4.3.3-fix_no_opengl.patch 934 RMD160 6df27a18bce8016ac5b745eade2c526d96fd88d4 SHA1 9bc83679e4bf8fe8d7ee7d9cd004bb6c55c069e7 SHA256 2174b72f8694a6a13085d572852028168645f0dfdfd8c36b944cdd9e61d4c4db
+AUX 4.3.5-magiclamp-minimize.patch 5982 RMD160 6ca56018a6b8b5fafa228ff8b7feefb97d910547 SHA1 816ea0c92cb90fe95421567e5172aeb362aa6f39 SHA256 8527833e3fd374883b84315b9fd2c7b4a3beea7c53a4a724696f0d9ece3d418e
DIST kdebase-workspace-4.3.3.tar.bz2 62496238 RMD160 48ab90a519c7811e9fe4aa4e77f06134d2dc4afa SHA1 2839e913cecef8ead0685bd50e9515ccd8bc0a9d SHA256 b66b4e3eefe88edfd9ddd0501b2b6eece39b85fd78f2320967b937f2529c6d3b
DIST kdebase-workspace-4.3.4.tar.bz2 62517195 RMD160 665b49b9dd03408ef9ec50e7bd5eb50b993d6138 SHA1 5b43447139d22247d5bc2deee8e3a944447f0bbf SHA256 ea12e04eb402f1257b483b541df5d77b885407bd02992bcb496ccd3335b203c3
DIST kdebase-workspace-4.3.5.tar.bz2 62525359 RMD160 dcf04a40412ba236365423afc877ea0c2066f972 SHA1 703582cb8a3471c5821986dbdfc3c6deedac0ff3 SHA256 7985634ed1f87889bcd6613ef41127196df442017bf895be6fb2afb196ce149b
EBUILD kwin-4.3.3-r1.ebuild 1358 RMD160 1ae3dc7b9095369069b79945f0fd34bf8239bb8d SHA1 f5ea96dbc073c83591e5ab691a44242272ab7c19 SHA256 5eebd85375e0e75c6f153e31a9cd5e76110bf74282d074553a36afa1c8c55790
EBUILD kwin-4.3.4-r1.ebuild 1428 RMD160 e27c6fc1f43c753f0fd607057ac4356efcdf7cd1 SHA1 331c65513682a18dcc3efa8cf8b97b508080a3a3 SHA256 ad2af7a1b67142edeeb1280a2b4edb3b87392e660627507380f881c4d3c66af3
-EBUILD kwin-4.3.5.ebuild 1427 RMD160 de09e63039f18de9a177305023f402a62660bdbe SHA1 4774e5faeaa4bc72d264606c9ca93b5111ab328f SHA256 a537037fd91fbfeba7cd2e8579a56062c27c850c952af2fc9f8f591d5144b0cf
-MISC ChangeLog 22394 RMD160 2a33ecec33e52ba8abdb0d2f4c3c930fa0adf33e SHA1 c74d2c04e3b185056df593adb2cf3e20ead70582 SHA256 209f5121847015f00c9dd590158680c2f9e7d02ed73a7a9e4b1d5798670a810f
+EBUILD kwin-4.3.5-r1.ebuild 1476 RMD160 458debaf5d717ae48ed8cea516c1838b1f0643c7 SHA1 62c30c93c2845d944852343f7990b7339c252787 SHA256 d42cb01e21398a453b22975ae7056770617e2927cdadbf6237f9f042d8742f5b
+MISC ChangeLog 22611 RMD160 b1f9f531d1072701e460895719fb817b94fc29a3 SHA1 353741bf646aeb39c3e92d93ce45d41eeb8d835a SHA256 4acab77ca84af9e69f8a809e8fe886ec45141368515b8d02566834c64188dc02
MISC metadata.xml 156 RMD160 ecce3b981f150c45ae1e84e2d208e678d6124259 SHA1 b64f7c0b4e5db816d82ad19848f72118af129d35 SHA256 2f4da28506b9d4185f320f67a6191d30c7a921217ed4447ed46ea0bc4aefc79a
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iEYEARECAAYFAktp3RwACgkQHB6c3gNBRYeGBwCdGSUhydoTh0v3eTLP7WeCu2aQ
+Q2cAn0f2T+zH4+LiNkjSA1bp0RQdm8lB
+=g2Ld
+-----END PGP SIGNATURE-----
diff --git a/kde-base/kwin/files/4.3.5-magiclamp-minimize.patch b/kde-base/kwin/files/4.3.5-magiclamp-minimize.patch
new file mode 100644
index 000000000000..b3901f0c98b5
--- /dev/null
+++ b/kde-base/kwin/files/4.3.5-magiclamp-minimize.patch
@@ -0,0 +1,151 @@
+diff --git a/kwin/effects/magiclamp/magiclamp.cpp b/kwin/effects/magiclamp/magiclamp.cpp
+index e1572cb..44406a2 100644
+--- a/kwin/effects/magiclamp/magiclamp.cpp
++++ b/kwin/effects/magiclamp/magiclamp.cpp
+@@ -301,6 +301,11 @@ void MagicLampEffect::postPaintScreen()
+ effects->postPaintScreen();
+ }
+
++void MagicLampEffect::windowDeleted( EffectWindow* w )
++{
++ mTimeLineWindows.remove( w );
++}
++
+ void MagicLampEffect::windowMinimized( EffectWindow* w )
+ {
+ mTimeLineWindows[w].setCurveShape(TimeLine::LinearCurve);
+diff --git a/kwin/effects/magiclamp/magiclamp.h b/kwin/effects/magiclamp/magiclamp.h
+index a7f134d..84bfa7e 100644
+--- a/kwin/effects/magiclamp/magiclamp.h
++++ b/kwin/effects/magiclamp/magiclamp.h
+@@ -38,6 +38,7 @@ class MagicLampEffect
+ virtual void paintWindow( EffectWindow* w, int mask, QRegion region, WindowPaintData& data );
+ virtual void postPaintScreen();
+
++ virtual void windowDeleted( EffectWindow* c );
+ virtual void windowMinimized( EffectWindow* c );
+ virtual void windowUnminimized( EffectWindow* c );
+
+diff --git a/kwin/effects/minimizeanimation/minimizeanimation.cpp b/kwin/effects/minimizeanimation/minimizeanimation.cpp
+index 9432504..905a64b 100644
+--- a/kwin/effects/minimizeanimation/minimizeanimation.cpp
++++ b/kwin/effects/minimizeanimation/minimizeanimation.cpp
+@@ -39,34 +39,39 @@ void MinimizeAnimationEffect::prePaintScreen( ScreenPrePaintData& data, int time
+ // whole screen won't be repainted, resulting in artefacts
+ data.mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS;
+
+- effects->prePaintScreen(data, time);
+- }
+-
+-void MinimizeAnimationEffect::prePaintWindow( EffectWindow* w, WindowPrePaintData& data, int time )
+- {
+- if( mTimeLineWindows.contains( w ))
++ QHash< EffectWindow*, TimeLine >::iterator entry = mTimeLineWindows.begin();
++ bool erase = false;
++ while( entry != mTimeLineWindows.end() )
+ {
+- if( w->isMinimized() )
++ TimeLine &timeline = entry.value();
++ if( entry.key()->isMinimized() )
+ {
+- mTimeLineWindows[w].addTime(time);
+- if( mTimeLineWindows[w].progress() >= 1.0f )
+- mTimeLineWindows.remove( w );
++ timeline.addTime(time);
++ erase = (timeline.progress() >= 1.0f);
+ }
+ else
+ {
+- mTimeLineWindows[w].removeTime(time);
+- if( mTimeLineWindows[w].progress() <= 0.0f )
+- mTimeLineWindows.remove( w );
++ timeline.removeTime(time);
++ erase = (timeline.progress() <= 0.0f);
+ }
++ if( erase )
++ entry = mTimeLineWindows.erase( entry );
++ else
++ ++entry;
++ }
+
+- // Schedule window for transformation if the animation is still in
+- // progress
+- if( mTimeLineWindows.contains( w ))
+- {
+- // We'll transform this window
+- data.setTransformed();
+- w->enablePainting( EffectWindow::PAINT_DISABLED_BY_MINIMIZE );
+- }
++ effects->prePaintScreen(data, time);
++ }
++
++void MinimizeAnimationEffect::prePaintWindow( EffectWindow* w, WindowPrePaintData& data, int time )
++ {
++ // Schedule window for transformation if the animation is still in
++ // progress
++ if( mTimeLineWindows.contains( w ) )
++ {
++ // We'll transform this window
++ data.setTransformed();
++ w->enablePainting( EffectWindow::PAINT_DISABLED_BY_MINIMIZE );
+ }
+
+ effects->prePaintWindow( w, data, time );
+@@ -74,10 +79,11 @@ void MinimizeAnimationEffect::prePaintWindow( EffectWindow* w, WindowPrePaintDat
+
+ void MinimizeAnimationEffect::paintWindow( EffectWindow* w, int mask, QRegion region, WindowPaintData& data )
+ {
+- if( mTimeLineWindows.contains( w ))
++ QHash< EffectWindow*, TimeLine >::const_iterator entry = mTimeLineWindows.find(w);
++ if( entry != mTimeLineWindows.constEnd() )
+ {
+ // 0 = not minimized, 1 = fully minimized
+- double progress = mTimeLineWindows[w].value();
++ double progress = entry->value();
+
+ QRect geo = w->geometry();
+ QRect icon = w->iconGeometry();
+@@ -107,18 +113,25 @@ void MinimizeAnimationEffect::postPaintScreen()
+ effects->postPaintScreen();
+ }
+
++void MinimizeAnimationEffect::windowDeleted( EffectWindow* w )
++ {
++ mTimeLineWindows.remove( w );
++ }
++
+ void MinimizeAnimationEffect::windowMinimized( EffectWindow* w )
+ {
+- mTimeLineWindows[w].setCurveShape(TimeLine::EaseInCurve);
+- mTimeLineWindows[w].setDuration( animationTime( 250 ));
+- mTimeLineWindows[w].setProgress(0.0f);
++ TimeLine &timeline = mTimeLineWindows[w];
++ timeline.setCurveShape(TimeLine::EaseInCurve);
++ timeline.setDuration( animationTime( 250 ));
++ timeline.setProgress(0.0f);
+ }
+
+ void MinimizeAnimationEffect::windowUnminimized( EffectWindow* w )
+ {
+- mTimeLineWindows[w].setCurveShape(TimeLine::EaseOutCurve);
+- mTimeLineWindows[w].setDuration( animationTime( 250 ));
+- mTimeLineWindows[w].setProgress(1.0f);
++ TimeLine &timeline = mTimeLineWindows[w];
++ timeline.setCurveShape(TimeLine::EaseOutCurve);
++ timeline.setDuration( animationTime( 250 ));
++ timeline.setProgress(1.0f);
+ }
+
+ } // namespace
+diff --git a/kwin/effects/minimizeanimation/minimizeanimation.h b/kwin/effects/minimizeanimation/minimizeanimation.h
+index d8abd8c..96e4578 100644
+--- a/kwin/effects/minimizeanimation/minimizeanimation.h
++++ b/kwin/effects/minimizeanimation/minimizeanimation.h
+@@ -42,6 +42,7 @@ class MinimizeAnimationEffect
+ virtual void paintWindow( EffectWindow* w, int mask, QRegion region, WindowPaintData& data );
+ virtual void postPaintScreen();
+
++ virtual void windowDeleted( EffectWindow* c );
+ virtual void windowMinimized( EffectWindow* c );
+ virtual void windowUnminimized( EffectWindow* c );
+
diff --git a/kde-base/kwin/kwin-4.3.5.ebuild b/kde-base/kwin/kwin-4.3.5-r1.ebuild
index 3481d34c0db3..0528bb462afb 100644
--- a/kde-base/kwin/kwin-4.3.5.ebuild
+++ b/kde-base/kwin/kwin-4.3.5-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/kwin-4.3.5.ebuild,v 1.2 2010/01/28 11:28:27 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/kwin-4.3.5-r1.ebuild,v 1.1 2010/02/03 20:32:51 scarabeus Exp $
EAPI="2"
@@ -36,6 +36,7 @@ RDEPEND="${COMMONDEPEND}"
PATCHES=(
"${FILESDIR}/4.3.3-fix_no_opengl.patch"
+ "${FILESDIR}/${PV}-magiclamp-minimize.patch"
)
src_prepare() {