Previously it triggered the leak every time. It's pretty subtle - it's about the lifetime of the object the responses are contained in. The object is destroyed before the responses are deleted. This MP prevents it from happening. Also, code similar to this (fixed version) is also used elsewhere (e.g. take a look at HandleErrorVoid and handle_structured_error in MirConnection).
> Isn't this now just a more complicated version of what we already have? Or
> have you subtly fixed the leak somehow?
Yes I have fixed the problem - with this branch integrated, the async-render- surface branch now passes CI (https:/ /code.launchpad .net/~cemil- azizoglu/ mir/async- render- surface/ +merge/ 310375/ comments/ 806935).
Previously it triggered the leak every time. It's pretty subtle - it's about the lifetime of the object the responses are contained in. The object is destroyed before the responses are deleted. This MP prevents it from happening. Also, code similar to this (fixed version) is also used elsewhere (e.g. take a look at HandleErrorVoid and handle_ structured_ error in MirConnection).