RESULT Animation::CallbackOnFinished( ICallback& callback ) { RESULT rval = S_OK; if (callback.IsNull()) { RETAILMSG(ZONE_ERROR, "ERROR: Animation::CallbackOnFinished( \"%s\", 0x%x ): Callback is NULL", m_name.c_str(), (UINT32)&callback); SAFE_DELETE(m_pCallbackOnFinished); rval = E_INVALID_ARG; goto Exit; } SAFE_DELETE(m_pCallbackOnFinished); m_pCallbackOnFinished = callback.Clone(); Exit: return rval; }