Module: wine Branch: master Commit: 78b41be88263913a28f5853ee673a851d57cc9f5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=78b41be88263913a28f5853ee6...
Author: Rico Schüller kgbricola@web.de Date: Thu Oct 1 11:54:33 2009 +0200
d3d10: Implement ID3D10EffectType::GetMemberTypeByIndex().
---
dlls/d3d10/effect.c | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c index 6a69077..9927c83 100644 --- a/dlls/d3d10/effect.c +++ b/dlls/d3d10/effect.c @@ -3284,9 +3284,22 @@ static HRESULT STDMETHODCALLTYPE d3d10_effect_type_GetDesc(ID3D10EffectType *ifa static struct ID3D10EffectType * STDMETHODCALLTYPE d3d10_effect_type_GetMemberTypeByIndex(ID3D10EffectType *iface, UINT index) { - FIXME("iface %p, index %u stub!\n", iface, index); + struct d3d10_effect_type *This = (struct d3d10_effect_type *)iface; + struct d3d10_effect_type *t;
- return NULL; + TRACE("iface %p, index %u\n", iface, index); + + if (index >= This->member_count) + { + WARN("Invalid index specified\n"); + return (ID3D10EffectType *)&null_type; + } + + t = (&This->members[index])->type; + + TRACE("Returning member %p, %s\n", t, debugstr_a(t->name)); + + return (ID3D10EffectType *)t; }
static struct ID3D10EffectType * STDMETHODCALLTYPE d3d10_effect_type_GetMemberTypeByName(ID3D10EffectType *iface,