[OLE] Better handling of References
mike at navi.cx
Wed May 26 06:24:47 CDT 2004
On Wed, 26 May 2004 12:58:19 +0000, fenix wrote:
> Well Soft References are used in many places in COM (for example D3D textures/surfaces use it on windows)
OK :) I have not seen this technique before, but then I've never
implemented lots of COM objects all working together.
> I can't have a backtrace as i can't get winedbg working correctly on
> installshield programs :( But i'll send you the traces later (when i'll
> be back home).
What does winedbg do/not do? I've been able to use it with InstallShield
before: you may have to attach to it after the program has started though.
> For what i have see it's a problem of ITypeInfo::Invoke when it should
> returns a Pointer to an IUnknown Variant. InstallShield complains about
> Objects References not set !!
Yes, this problem has plagued us for ages. It seems to be a race condition
of some sort, Marcus has debugged this extensively.
By "should return a pointer to an IUnknown variant" do you mean that
pVarResult should hold a VT_UNKNOWN variant? Do you know what
function/property it's trying to use?
> Yes, but as the code of ITypeLib2/ITypeInfo don't seems thread safe at
> all ... (anyway i'll fix it) :)
Yeah I know :) It just seems that we might as well write new code to be
thread safe so when somebody comes to make it thread safe they have less
work to do ...
> No, i have only to no have a lot of debug traces (i have added on my
> tree) on Variant* Operations when clearing already empty Variants
OK, that makes sense.
More information about the wine-devel