5 Jun
2023
5 Jun
'23
9:58 p.m.
This doesn't look right.
Note that the difference between the pulse and the other drivers is that pulse's `GetService()` calls `AddRef()` in all success cases.
More specifically, the other drivers call `AddRef()` only when the session wrapper already exists. I didn't catch that (and the tests didn't either apparently), sorry.
I think the other drivers do this in a more logical way - have the session wrapper constructor return an object with `ref` set to one and don't `AddRef()` it in `GetService()`.
Agreed. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2908#note_34741