19 May
2025
19 May
'25
12:40 p.m.
To begin with, it looks like ref_weak counts both strong and weak references. Feels to me like ref_total would be a better name.
The weak/strong names are how it's often called and it works the same way: strong ref have an implicit weak ref too. [^1] Then yes, Resolve seems to be bogus and it is as well in IGeolocation, as it takes a strong reference without the implicit weak one and as it then releases its strong reference without going through `Release`, missing the eventual object destruction. [^1]: For instance taking https://doc.rust-lang.org/std/rc/struct.Weak.html as a reference. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8078#note_103839