diff options
author | Thorsten Behrens <tbehrens@suse.com> | 2012-02-22 00:31:30 +0100 |
---|---|---|
committer | Radek Doulik <rodo@novell.com> | 2012-03-20 11:42:58 +0100 |
commit | 8f769141f35f18782f3e43862baedf40d3ce19c6 (patch) | |
tree | 9251d478a561db8c59e4f227225c388fb4bcb710 | |
parent | f24545a72cf43d0852c4f8edae0b3a9919120cdd (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.hxx | 2 | ||||
-rw-r--r-- | canvas/inc/canvas/spriteredrawmanager.hxx | 2 | ||||
-rw-r--r-- | canvas/source/tools/spriteredrawmanager.cxx | 2 |
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() ); |