treat DISPATCH_METHOD and ( DISPATCH_METHOD or DISPATCH_PROPERTYGET ) the same

This commit is contained in:
Arkady Trestman 2009-10-08 22:22:00 +00:00
parent 61f2bafdf7
commit 18ff0f4e9b

View File

@ -154,8 +154,13 @@ STDMETHODIMP PPandaObject::Invoke(
switch ( wFlags )
{
case DISPATCH_METHOD:
case ( DISPATCH_METHOD ):
case ( DISPATCH_METHOD | DISPATCH_PROPERTYGET ):
{
// NOTE: http://msdn.microsoft.com/en-us/library/ms221479.aspx
// The member is invoked as a method. If a property has the same name,
// both the DISPATCH_METHOD and the DISPATCH_PROPERTYGET flag may be set.
bool hasMethod( false );
hr = m_interface->P3DHasMethod( m_p3dObject, name, hasMethod );
if ( SUCCEEDED( hr ) && hasMethod )
@ -164,12 +169,12 @@ STDMETHODIMP PPandaObject::Invoke(
}
}
break;
case DISPATCH_PROPERTYGET:
case ( DISPATCH_PROPERTYGET ):
{
hr = m_interface->P3DGetProperty( m_p3dObject, name, pvarResult );
}
break;
case DISPATCH_PROPERTYPUT:
case ( DISPATCH_PROPERTYPUT ):
{
bool result( false );
hr = m_interface->P3DSetProperty( m_p3dObject, name, pdispparams, result );