在开发过程中,CPaintManagerUI::RemoveImage 函数调用,结果并没有释放掉image资源,一个小问题,修改一下可解决。
贴出修复可用代码:
void CPaintManagerUI::RemoveImage(LPCTSTR bitmap, bool bShared)
{
TImageInfo* sdata = static_cast<TImageInfo*>(m_ResInfo.m_ImageHash.Find(bitmap));
if (sdata)
{
CRenderEngine::FreeImage(sdata);
m_ResInfo.m_ImageHash.Remove(bitmap);
return;
}
sdata = static_cast<TImageInfo*>(m_SharedResInfo.m_ImageHash.Find(bitmap));
if (sdata)
{
CRenderEngine::FreeImage(sdata);
m_SharedResInfo.m_ImageHash.Remove(bitmap);
return;
}
}