[PATCH resend 03/13] msscript.ocx: Add initial IScriptModule stub implementation.
Jacek Caban
jacek at codeweavers.com
Fri May 29 13:46:40 CDT 2020
On 29.05.2020 18:52, Jacek Caban wrote:
> Hi Gabriel,
>
> On 26.05.2020 14:41, Gabriel Ivăncescu wrote:
>> Signed-off-by: Gabriel Ivăncescu<gabrielopcode at gmail.com>
>> ---
>>
>> We have to treat a ref count of 0 in a special manner when they are
>> linked
>> to the script control, because the modules must exist even when they
>> have
>> no external refs (as the script control can still use them).
>>
>> However, as evidenced by the tests, they must*not* keep a ref to the
>> script
>> control in this case, as it would create a circular ref and make no
>> sense,
>> anyway.
>>
>> The alternative solution to allocate separate data for modules would
>> require copying the data to multiple places (one for Module Collection,
>> and one for orphaned Modules) which is more complicated, in my opinion.
>
>
> There must be a cleaner way. If you need too much special treatment
> for orphaned modules, it means that the design needs to be improved.
> One thing that is often useful for similar cases are weak reference:
> never reference control from module and make sure that control always
> invalidates the module->control pointer when it actually releases the
> object.
Or maybe script module should just store ScriptHost reference.
Jacek
More information about the wine-devel
mailing list