Am 09.11.2010 18:39, schrieb Henri Verbeet:
2010/11/9 Rico Schüllerkgbricola@web.de:
I made the assumption, because setting the vtbl is the first thing d3dcompiler_shader_reflection_init() does.
It is, but you're not supposed to care. Abstractions aren't very useful if you have to care about the details of their internals.
Well, a heap free isn't always enough, because there could already be allocated data to the object, which then would resolve in lost memory.
d3dcompiler_shader_reflection_init() should free anything it allocated if it's going to fail.
Ok, it does that, if HeapAlloc and IUnknown_Release() is moved to d3dcompiler_shader_reflection_init(). So everything would be fine.