在wingdi.cpp发现这样一段代码,怀疑是bug!该怎么解决
在wingdi.cpp发现这样一段代码,怀疑是bug!
BOOL CGdiObject::Attach(HGDIOBJ hObject)
{
ASSERT(m_hObject == NULL); // only attach once, detach on destroy
if (hObject == NULL)
return FALSE;
CHandleMap* pMap = afxMapHGDIOBJ(TRUE); // create map if not exist
ASSERT(pMap != NULL);
pMap-> SetPermanent(m_hObject = hObject, this);
return TRUE;
}
主要是这2句:
ASSERT(m_hObject == NULL); // only attach once, detach on destroy
if (hObject == NULL)
return FALSE;
大家说这是不是bug,我用的是vs2003.
------解决方案--------------------
什么意思?怎么是bug了?很正常啊,如果已经Attach过了,就报错。
BOOL CGdiObject::Attach(HGDIOBJ hObject)
{
ASSERT(m_hObject == NULL); // only attach once, detach on destroy
if (hObject == NULL)
return FALSE;
CHandleMap* pMap = afxMapHGDIOBJ(TRUE); // create map if not exist
ASSERT(pMap != NULL);
pMap-> SetPermanent(m_hObject = hObject, this);
return TRUE;
}
主要是这2句:
ASSERT(m_hObject == NULL); // only attach once, detach on destroy
if (hObject == NULL)
return FALSE;
大家说这是不是bug,我用的是vs2003.
------解决方案--------------------
什么意思?怎么是bug了?很正常啊,如果已经Attach过了,就报错。