Am 09.11.2010 18:39, schrieb Henri Verbeet:
2010/11/9 Rico Schüller<kgbric...@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.