Jörg Sonnenberger wrote:
+        SurfaceSharedPtr surface(mpOwningSpriteCanvas->getBufferSurface());
         ::std::for_each( aUncoveredAreas.begin(),
                          aUncoveredAreas.end(),
                          ::boost::bind( &repaintBackground,
                                         boost::cref(pCompositingCairo),
-                                        boost::cref(mpOwningSpriteCanvas->getBufferSurface()),
+                                        boost::cref(surface),
                                         _1 ) );
If you need a local variable anyway - why not insted getting rid of the boost::cref and pass the parameter by value in the first place? e.g. , mpOwningSpriteCanvas->getBufferSurface(), _1 ... ? Cheers, -- Thorsten
Attachment:
signature.asc
Description: Digital signature