diff --git a/main/src/CaelumSystem.cpp b/main/src/CaelumSystem.cpp index a35ed1c..0799f27 100644 --- a/main/src/CaelumSystem.cpp +++ b/main/src/CaelumSystem.cpp @@ -342,13 +342,15 @@ namespace Caelum } // Detach old if (getAutoAttachViewportsToComponents() && oldptr) { - std::for_each (mAttachedViewports.begin(), mAttachedViewports.end(), - std::bind1st (std::mem_fun (&PrecipitationController::destroyViewportInstance), oldptr)); + for (Ogre::Viewport* vp : mAttachedViewports) { + oldptr->destroyViewportInstance(vp); + } } // Attach new. if (getAutoAttachViewportsToComponents() && newptr) { - std::for_each (mAttachedViewports.begin(), mAttachedViewports.end(), - std::bind1st (std::mem_fun (&PrecipitationController::createViewportInstance), newptr)); + for (Ogre::Viewport* vp : mAttachedViewports) { + newptr->createViewportInstance(vp); + } } mPrecipitationController.reset(newptr); } @@ -356,11 +358,9 @@ namespace Caelum void CaelumSystem::setDepthComposer (DepthComposer* ptr) { mDepthComposer.reset(ptr); if (getDepthComposer() && getAutoAttachViewportsToComponents()) { - std::for_each ( - mAttachedViewports.begin(), mAttachedViewports.end(), - std::bind1st ( - std::mem_fun (&DepthComposer::createViewportInstance), - getDepthComposer ())); + for (Ogre::Viewport* vp : mAttachedViewports) { + getDepthComposer()->createViewportInstance(vp); + } } }