CFreetypeFontFace::~CFreetypeFontFace() { m_pTexture->Unload(); m_fontUpdateImageCacheMutex.lock(); BEATS_SAFE_DELETE_VECTOR(m_fontUpdateImageCache); m_fontUpdateImageCacheMutex.unlock(); }
void CInputManager::Clear() { BEATS_SAFE_DELETE_MAP(m_callBacks, TCallbackMap); for (TCallbackStack::iterator iter = m_stack.begin(); iter != m_stack.end(); ++iter) { BEATS_SAFE_DELETE_VECTOR(iter->second); } m_stack.clear(); }
CInputManager::~CInputManager() { CMouse::Destroy(); CKeyboard::Destroy(); BEATS_SAFE_DELETE_MAP(m_callBacks, TCallbackMap); for (TCallbackStack::iterator iter = m_stack.begin(); iter != m_stack.end(); ++iter) { BEATS_SAFE_DELETE_VECTOR(iter->second); } m_stack.clear(); if (m_pDirectInput != NULL) { m_pDirectInput->Release(); } }
void CComponentProxyManager::ResolveDependency() { for (uint32_t i = 0; i < m_pDependencyResolver->size(); ++i) { SDependencyResolver* pDependencyResolver = (*m_pDependencyResolver)[i]; CComponentBase* pComponentToBeLink = GetComponentInstance(pDependencyResolver->uInstanceId, pDependencyResolver->uGuid); BEATS_ASSERT(pComponentToBeLink != NULL, _T("Resolve dependency failed, Comopnent id %d guid 0x%x doesn't exist!"), pDependencyResolver->uInstanceId, pDependencyResolver->uGuid); BEATS_ASSERT(pDependencyResolver->pDescription != NULL); BEATS_ASSERT(pDependencyResolver->pVariableAddress == NULL, "pVariableAddress should be null in proxy mode"); BEATS_ASSERT(pComponentToBeLink != NULL, _T("Component %s id %d can't resolve its dependency %s to component guid 0x%x id %d, have you deleted that component recently?"), pDependencyResolver->pDescription->GetOwner()->GetClassStr(), pDependencyResolver->pDescription->GetOwner()->GetId(), pDependencyResolver->pDescription->GetDisplayName(), pDependencyResolver->uGuid, pDependencyResolver->uInstanceId); BEATS_ASSERT(pDependencyResolver->pDescription->GetDependencyLine(pDependencyResolver->uIndex)->GetConnectedComponent() == NULL); pDependencyResolver->pDescription->SetDependency(pDependencyResolver->uIndex, static_cast<CComponentProxy*>(pComponentToBeLink)); } BEATS_SAFE_DELETE_VECTOR(*m_pDependencyResolver); }
void CComponentInstanceManager::ResolveDependency() { for (uint32_t i = 0; i < m_pDependencyResolver->size(); ++i) { SDependencyResolver* pDependencyResolver = (*m_pDependencyResolver)[i]; CComponentBase* pComponentToBeLink = GetComponentInstance(pDependencyResolver->uInstanceId, pDependencyResolver->uGuid); BEATS_ASSERT(pComponentToBeLink != NULL, _T("Resolve dependency failed, Comopnent id %d guid 0x%x doesn't exist!"), pDependencyResolver->uInstanceId, pDependencyResolver->uGuid); BEATS_ASSERT(pDependencyResolver->pDescription == NULL); if (pDependencyResolver->pVariableAddress != NULL) { if (pDependencyResolver->bIsList) { pDependencyResolver->pAddFunc(pDependencyResolver->pVariableAddress, pComponentToBeLink); } else { BEATS_ASSERT(*(ptrdiff_t*)pDependencyResolver->pVariableAddress == 0, "the variable of address should be cleared."); *(ptrdiff_t*)pDependencyResolver->pVariableAddress = (ptrdiff_t)pComponentToBeLink; } } } BEATS_SAFE_DELETE_VECTOR(*m_pDependencyResolver); }