summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Behrens <tbehrens@suse.com>2012-02-22 00:31:30 +0100
committerRadek Doulik <rodo@novell.com>2012-03-20 11:42:58 +0100
commit8f769141f35f18782f3e43862baedf40d3ce19c6 (patch)
tree9251d478a561db8c59e4f227225c388fb4bcb710
parentf24545a72cf43d0852c4f8edae0b3a9919120cdd (diff)
Fix fdo#45219 wrong transparency for animated objects.
With the attachement from said bug, and cairocanvas, sprites are displayed multiple times above each other (which, for semi- transparent sprites, lead to incorrect overall transparency)
-rw-r--r--canvas/inc/canvas/base/sprite.hxx2
-rw-r--r--canvas/inc/canvas/spriteredrawmanager.hxx2
-rw-r--r--canvas/source/tools/spriteredrawmanager.cxx2
3 files changed, 3 insertions, 3 deletions
diff --git a/canvas/inc/canvas/base/sprite.hxx b/canvas/inc/canvas/base/sprite.hxx
index bb3d655bb2e7..38a2270b8e5c 100644
--- a/canvas/inc/canvas/base/sprite.hxx
+++ b/canvas/inc/canvas/base/sprite.hxx
@@ -103,7 +103,7 @@ namespace canvas
/** Functor providing a StrictWeakOrdering for sprite references
*/
- struct SpriteComparator
+ struct SpriteWeakOrder
{
bool operator()( const Sprite::Reference& rLHS,
const Sprite::Reference& rRHS )
diff --git a/canvas/inc/canvas/spriteredrawmanager.hxx b/canvas/inc/canvas/spriteredrawmanager.hxx
index 3bf4ca666cff..9dc20995a850 100644
--- a/canvas/inc/canvas/spriteredrawmanager.hxx
+++ b/canvas/inc/canvas/spriteredrawmanager.hxx
@@ -361,7 +361,7 @@ namespace canvas
::std::sort( aSortedUpdateSprites.begin(),
aSortedUpdateSprites.end(),
- SpriteComparator() );
+ SpriteWeakOrder() );
if( isAreaUpdateOpaque( rUpdateArea,
nNumSprites ) )
diff --git a/canvas/source/tools/spriteredrawmanager.cxx b/canvas/source/tools/spriteredrawmanager.cxx
index 2af5b34e6f8c..06d612787042 100644
--- a/canvas/source/tools/spriteredrawmanager.cxx
+++ b/canvas/source/tools/spriteredrawmanager.cxx
@@ -233,7 +233,7 @@ namespace canvas
// in line with the problem of having sprite state available
// for the frame before the last frame; plus, it avoids
// frequent locks of the object mutices
- SpriteComparator aSpriteComparator;
+ SpriteWeakOrder aSpriteComparator;
// put all sprites that have changed content into update areas
ListOfSprites::const_iterator aCurrSprite( maSprites.begin() );