summaryrefslogtreecommitdiff
path: root/slideshow/source/engine/shapes/drawshape.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'slideshow/source/engine/shapes/drawshape.cxx')
-rw-r--r--slideshow/source/engine/shapes/drawshape.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/slideshow/source/engine/shapes/drawshape.cxx b/slideshow/source/engine/shapes/drawshape.cxx
index e588a8fb4e58..899804fe1896 100644
--- a/slideshow/source/engine/shapes/drawshape.cxx
+++ b/slideshow/source/engine/shapes/drawshape.cxx
@@ -262,7 +262,8 @@ namespace slideshow
void DrawShape::updateStateIds() const
{
- // update the states, we've just redrawn
+ // Update the states, we've just redrawn or created a new
+ // attribute layer.
if( mpAttributeLayer )
{
mnAttributeTransformationState = mpAttributeLayer->getTransformationState();
@@ -1277,6 +1278,9 @@ namespace slideshow
// create new layer, with last as its new child
mpAttributeLayer.reset( new ShapeAttributeLayer( mpAttributeLayer ) );
+ // Update the local state ids to reflect those of the new layer.
+ updateStateIds();
+
return mpAttributeLayer;
}