https://bugs.winehq.org/show_bug.cgi?id=51616
Brendan McGrath brendan@redmandi.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |brendan@redmandi.com
--- Comment #3 from Brendan McGrath brendan@redmandi.com --- Created attachment 72697 --> https://bugs.winehq.org/attachment.cgi?id=72697 Fix "Assertion failed!"
This patch fixes the "Assertion failed!" error.
The issue is that the "ugly" work-around assumes that if a reference is added during the callback, then it has been leaked. So the work-around takes responsibility for freeing it up.
However, in Unravel Two, the "leaked" reference is also freed by the application, resulting in the reference count being decremented below zero (resulting in a negative overflow).
This results in the assertion failure at dlls/quartz/memallocator.c:346; because instead of being zero, the reference has a value of 4294967295 (or minus one).