[SCM] KDE Base Workspace module packaging branch, kde4.6, updated. debian/4.6.5-2-4-g1c51970

José Manuel Santamaría Lema santa-guest at alioth.debian.org
Fri Sep 16 20:28:11 UTC 2011


The following commit has been merged in the kde4.6 branch:
commit 1c51970807475c9262cf931c814fd75eb79c1e29
Author: José Manuel Santamaría Lema <panfaust at gmail.com>
Date:   Fri Sep 16 22:25:59 2011 +0200

    Add kwin_avoid_deep_vector_copies.diff
---
 debian/changelog                                  |    3 +
 debian/patches/kwin_avoid_deep_vector_copies.diff |   98 +++++++++++++++++++++
 debian/patches/series                             |    1 +
 3 files changed, 102 insertions(+), 0 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 58e73d2..c809a01 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,9 @@ kdebase-workspace (4:4.6.5-3) UNRELEASED; urgency=low
   * Bump the libnm-util-dev and network-manager-dev build dependencies to 0.9,
     to be sure to not use an older NM version.
 
+  [ José Manuel Santamaría Lema ]
+  * Add kwin_avoid_deep_vector_copies.diff to improve kwin performance.
+
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Thu, 15 Sep 2011 23:02:00 +0200
 
 kdebase-workspace (4:4.6.5-2) unstable; urgency=low
diff --git a/debian/patches/kwin_avoid_deep_vector_copies.diff b/debian/patches/kwin_avoid_deep_vector_copies.diff
new file mode 100644
index 0000000..d46fd7e
--- /dev/null
+++ b/debian/patches/kwin_avoid_deep_vector_copies.diff
@@ -0,0 +1,98 @@
+From f664fbc58fb03e3dcaa2897321d90aada0b8c504 Mon Sep 17 00:00:00 2001
+From: "Andreas K. Huettel (dilfridge)" <mail at akhuettel.de>
+Date: Tue, 13 Sep 2011 22:39:34 +0200
+Subject: [PATCH] Backport of e142a1a142cbc8b87f021223e6abc947f456a7f9
+
+replace non-const QVector::operator[] accesses with const ::at() to avoid maaany deep vecor copies
+---
+ kwin/effects.cpp |   18 +++++++++---------
+ 1 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/kwin/effects.cpp b/kwin/effects.cpp
+index c9af32b..edc2927 100644
+--- a/kwin/effects.cpp
++++ b/kwin/effects.cpp
+@@ -156,7 +156,7 @@ 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
+@@ -166,7 +166,7 @@ void EffectsHandlerImpl::paintScreen( int mask, QRegion region, ScreenPaintData&
+     {
+     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
+@@ -177,7 +177,7 @@ 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
+@@ -187,7 +187,7 @@ void EffectsHandlerImpl::prePaintWindow( EffectWindow* w, WindowPrePaintData& da
+     {
+     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
+@@ -197,7 +197,7 @@ void EffectsHandlerImpl::paintWindow( EffectWindow* w, int mask, QRegion region,
+     {
+     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
+@@ -208,7 +208,7 @@ void EffectsHandlerImpl::paintEffectFrame( EffectFrame* frame, QRegion region, d
+     {
+     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
+@@ -222,7 +222,7 @@ 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
+@@ -240,7 +240,7 @@ void EffectsHandlerImpl::drawWindow( EffectWindow* w, int mask, QRegion region,
+     {
+     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
+@@ -251,7 +251,7 @@ 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;
+         }
+     }
+-- 
+1.7.6.3
+
diff --git a/debian/patches/series b/debian/patches/series
index 57eeac4..561766c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -18,3 +18,4 @@ enable_debianabimanager.diff
 initialize_variables_crashfix.diff
 enable_dlrestrcitions.diff
 kdm_vt_switching_on_kfreebsd.diff
+kwin_avoid_deep_vector_copies.diff

-- 
KDE Base Workspace module packaging



More information about the pkg-kde-commits mailing list