mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-29 11:53:23 +08:00
[0.1.x] fixed : VFN_TABLE for virtual base class
git-svn-id: https://pykd.svn.codeplex.com/svn@76515 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
parent
d1a30dc6b0
commit
f05e0e2658
@ -614,13 +614,22 @@ void UdtTypeInfo::getFields(
|
||||
}
|
||||
else
|
||||
if ( symTag == SymTagVTable )
|
||||
{
|
||||
if ( !baseVirtualSym )
|
||||
{
|
||||
TypeInfoPtr ti = TypeInfo::getTypeInfo( rootSym, childSym );
|
||||
|
||||
m_fields.push_back( std::make_pair( "__VFN_table", ti ) );
|
||||
if ( baseVirtualSym )
|
||||
{
|
||||
ti->setVirtualBase(
|
||||
TypeInfo::getTypeInfo(baseVirtualSym),
|
||||
virtualBasePtr,
|
||||
virtualDispIndex,
|
||||
virtualDispSize );
|
||||
|
||||
}
|
||||
|
||||
ti->setOffset( startOffset + childSym->getOffset() );
|
||||
|
||||
m_fields.push_back( std::make_pair( "__VFN_table", ti ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user