[Libreoffice-commits] .: canvas/inc canvas/source
Thorsten Behrens
thorsten at kemper.freedesktop.org
Wed Feb 22 02:15:20 PST 2012
canvas/inc/canvas/base/sprite.hxx | 2 +-
canvas/inc/canvas/spriteredrawmanager.hxx | 2 +-
canvas/source/tools/spriteredrawmanager.cxx | 5 ++---
3 files changed, 4 insertions(+), 5 deletions(-)
New commits:
commit 2c7e061997202df9e602e209cf40c61606582e8e
Author: Thorsten Behrens <tbehrens at suse.com>
Date: Wed Feb 22 00:31:30 2012 +0100
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)
diff --git a/canvas/inc/canvas/base/sprite.hxx b/canvas/inc/canvas/base/sprite.hxx
index bb3d655..38a2270 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 3bf4ca6..9dc2099 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 72976c1..eeb4714 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() );
@@ -277,8 +277,7 @@ namespace canvas
VectorOfSprites::iterator aEnd=
::std::unique( aUpdatableSprites.begin(),
- aUpdatableSprites.end(),
- aSpriteComparator );
+ aUpdatableSprites.end() );
// for each unique sprite, check the change event vector,
// calculate the update operation from that, and add the
More information about the Libreoffice-commits
mailing list