- auto iter = std::remove_if( mFrameCallbacks.begin(), mFrameCallbacks.end(),
- [ this, frameCallback ]
- ( const FrameCallbackInfo& info )
- {
- info.updateProxyImpl->GetRootNode().RemoveObserver( *this );
- delete info.updateProxyImpl;
- return info.frameCallback == frameCallback;
- } );
- mFrameCallbacks.erase( iter, mFrameCallbacks.end() );
+ // Find and remove all frame-callbacks that use the given frame-callback-interface
+ auto iter = std::remove(mFrameCallbacks.begin(), mFrameCallbacks.end(), frameCallback);
+ mFrameCallbacks.erase(iter, mFrameCallbacks.end());