summaryrefslogtreecommitdiff
path: root/kde-unstable/kdebase-workspace
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-09-12 23:14:44 +0000
committerroot <root@rshg054.dnsready.net>2011-09-12 23:14:44 +0000
commitb3a841a1f66eff75be29fba090b83ce4322d4721 (patch)
treef91ebd6bbbf3590fc3ca861c5b209e408d22b39b /kde-unstable/kdebase-workspace
parent1d2f1a1e70011a41d17f2f16d5e90c491ccdabb8 (diff)
Mon Sep 12 23:14:44 UTC 2011
Diffstat (limited to 'kde-unstable/kdebase-workspace')
-rw-r--r--kde-unstable/kdebase-workspace/PKGBUILD13
-rw-r--r--kde-unstable/kdebase-workspace/important-performance-bugfix.patch91
2 files changed, 100 insertions, 4 deletions
diff --git a/kde-unstable/kdebase-workspace/PKGBUILD b/kde-unstable/kdebase-workspace/PKGBUILD
index 650265a83..ccf43537a 100644
--- a/kde-unstable/kdebase-workspace/PKGBUILD
+++ b/kde-unstable/kdebase-workspace/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 137512 2011-09-08 10:05:49Z andrea $
+# $Id: PKGBUILD 137807 2011-09-11 11:17:41Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=kdebase-workspace
_pkgname=kde-workspace
pkgver=4.7.1
-pkgrel=5
+pkgrel=7
pkgdesc="KDE Base Workspace"
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -30,7 +30,8 @@ backup=('usr/share/config/kdm/kdmrc'
options=('emptydirs')
source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.bz2"
'kdm-zsh-profile.patch' 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam'
- 'fixpath.patch' 'terminate-server.patch')
+ 'fixpath.patch' 'terminate-server.patch'
+ 'important-performance-bugfix.patch')
sha1sums=('c7867d2f788086078abbcff53a035a6131232539'
'8c2bdefb23a03b753b78d16944d03fa3939d2d99'
'5db3a245201bd4a50e65aa2ef583cf5490e4f646'
@@ -38,7 +39,8 @@ sha1sums=('c7867d2f788086078abbcff53a035a6131232539'
'603cc79c4d2b4eae62bb5f244aeecb3a778b5516'
'106635aa1aae51d6f0668b1853f6c49a4fe9d3d8'
'd7b5883f7e65c6839b1f65f94d58026673dd0226'
- 'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee')
+ 'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee'
+ '4fa046db21e3203771fd29bc0e1c32918862b894')
build() {
cd "${srcdir}"/${_pkgname}-${pkgver}
@@ -46,6 +48,9 @@ build() {
patch -p0 -i "${srcdir}"/fixpath.patch
patch -p0 -i "${srcdir}"/terminate-server.patch
+ # Already fixed upstream
+ patch -p1 -i "${srcdir}"/important-performance-bugfix.patch
+
cd "${srcdir}"
mkdir build
cd build
diff --git a/kde-unstable/kdebase-workspace/important-performance-bugfix.patch b/kde-unstable/kdebase-workspace/important-performance-bugfix.patch
new file mode 100644
index 000000000..a34c77e5c
--- /dev/null
+++ b/kde-unstable/kdebase-workspace/important-performance-bugfix.patch
@@ -0,0 +1,91 @@
+commit e142a1a142cbc8b87f021223e6abc947f456a7f9
+Author: Thomas Lübking <thomas.luebking@gmail.com>
+Date: Thu Sep 8 22:20:35 2011 +0200
+
+ replace non-const QVector::operator[] accesses with const ::at() to avoid maaany deep vecor copies
+
+diff --git a/kwin/effects.cpp b/kwin/effects.cpp
+index e0c76cb..f5863fc0 100644
+--- a/kwin/effects.cpp
++++ b/kwin/effects.cpp
+@@ -200,7 +200,7 @@ void EffectsHandlerImpl::reconfigure()
+ void EffectsHandlerImpl::prePaintScreen(ScreenPrePaintData& data, int time)
+ {
+ if (current_paint_screen < loaded_effects.size()) {
+- loaded_effects[current_paint_screen++].second->prePaintScreen(data, time);
++ loaded_effects.at(current_paint_screen++).second->prePaintScreen(data, time);
+ --current_paint_screen;
+ }
+ // no special final code
+@@ -209,7 +209,7 @@ void EffectsHandlerImpl::prePaintScreen(ScreenPrePaintData& data, int time)
+ void EffectsHandlerImpl::paintScreen(int mask, QRegion region, ScreenPaintData& data)
+ {
+ if (current_paint_screen < loaded_effects.size()) {
+- loaded_effects[current_paint_screen++].second->paintScreen(mask, region, data);
++ loaded_effects.at(current_paint_screen++).second->paintScreen(mask, region, data);
+ --current_paint_screen;
+ } else
+ scene->finalPaintScreen(mask, region, data);
+@@ -218,7 +218,7 @@ void EffectsHandlerImpl::paintScreen(int mask, QRegion region, ScreenPaintData&
+ void EffectsHandlerImpl::postPaintScreen()
+ {
+ if (current_paint_screen < loaded_effects.size()) {
+- loaded_effects[current_paint_screen++].second->postPaintScreen();
++ loaded_effects.at(current_paint_screen++).second->postPaintScreen();
+ --current_paint_screen;
+ }
+ // no special final code
+@@ -227,7 +227,7 @@ void EffectsHandlerImpl::postPaintScreen()
+ void EffectsHandlerImpl::prePaintWindow(EffectWindow* w, WindowPrePaintData& data, int time)
+ {
+ if (current_paint_window < loaded_effects.size()) {
+- loaded_effects[current_paint_window++].second->prePaintWindow(w, data, time);
++ loaded_effects.at(current_paint_window++).second->prePaintWindow(w, data, time);
+ --current_paint_window;
+ }
+ // no special final code
+@@ -236,7 +236,7 @@ void EffectsHandlerImpl::prePaintWindow(EffectWindow* w, WindowPrePaintData& dat
+ void EffectsHandlerImpl::paintWindow(EffectWindow* w, int mask, QRegion region, WindowPaintData& data)
+ {
+ if (current_paint_window < loaded_effects.size()) {
+- loaded_effects[current_paint_window++].second->paintWindow(w, mask, region, data);
++ loaded_effects.at(current_paint_window++).second->paintWindow(w, mask, region, data);
+ --current_paint_window;
+ } else
+ scene->finalPaintWindow(static_cast<EffectWindowImpl*>(w), mask, region, data);
+@@ -245,7 +245,7 @@ void EffectsHandlerImpl::paintWindow(EffectWindow* w, int mask, QRegion region,
+ void EffectsHandlerImpl::paintEffectFrame(EffectFrame* frame, QRegion region, double opacity, double frameOpacity)
+ {
+ if (current_paint_effectframe < loaded_effects.size()) {
+- loaded_effects[current_paint_effectframe++].second->paintEffectFrame(frame, region, opacity, frameOpacity);
++ loaded_effects.at(current_paint_effectframe++).second->paintEffectFrame(frame, region, opacity, frameOpacity);
+ --current_paint_effectframe;
+ } else {
+ const EffectFrameImpl* frameImpl = static_cast<const EffectFrameImpl*>(frame);
+@@ -256,7 +256,7 @@ void EffectsHandlerImpl::paintEffectFrame(EffectFrame* frame, QRegion region, do
+ void EffectsHandlerImpl::postPaintWindow(EffectWindow* w)
+ {
+ if (current_paint_window < loaded_effects.size()) {
+- loaded_effects[current_paint_window++].second->postPaintWindow(w);
++ loaded_effects.at(current_paint_window++).second->postPaintWindow(w);
+ --current_paint_window;
+ }
+ // no special final code
+@@ -273,7 +273,7 @@ bool EffectsHandlerImpl::provides(Effect::Feature ef)
+ void EffectsHandlerImpl::drawWindow(EffectWindow* w, int mask, QRegion region, WindowPaintData& data)
+ {
+ if (current_draw_window < loaded_effects.size()) {
+- loaded_effects[current_draw_window++].second->drawWindow(w, mask, region, data);
++ loaded_effects.at(current_draw_window++).second->drawWindow(w, mask, region, data);
+ --current_draw_window;
+ } else
+ scene->finalDrawWindow(static_cast<EffectWindowImpl*>(w), mask, region, data);
+@@ -282,7 +282,7 @@ void EffectsHandlerImpl::drawWindow(EffectWindow* w, int mask, QRegion region, W
+ void EffectsHandlerImpl::buildQuads(EffectWindow* w, WindowQuadList& quadList)
+ {
+ if (current_build_quads < loaded_effects.size()) {
+- loaded_effects[current_build_quads++].second->buildQuads(w, quadList);
++ loaded_effects.at(current_build_quads++).second->buildQuads(w, quadList);
+ --current_build_quads;
+ }
+ }