http://bugs.winehq.org/show_bug.cgi?id=25873
Erich Hoover ehoover@mines.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ehoover@mines.edu, | |jacek@codeweavers.com
--- Comment #1 from Erich Hoover ehoover@mines.edu 2011-01-24 22:14:53 CST --- (In reply to comment #0)
... This is a regression in a downloadable application. I'm sorry, but I cannot afford the hours of time it takes to run a regression test to pinpoint the commit that introduced the problem. (I am working on building a new computer that should be much faster, so maybe in a few months...)
Such a regression test would be very difficult for you to do unless you've been paying close attention to urlmon, it's changed quite a bit recently (you need to work around the "spaces in filenames" issue). Since I'm already familiar with that issue, and I was concerned that this problem might be something that I had overlooked, I tracked down this regression for you:
---- 0b046c94ac52b05983ac8cae7e2aef0bfec771b3 is the first bad commit commit 0b046c94ac52b05983ac8cae7e2aef0bfec771b3 Author: Jacek Caban jacek@codeweavers.com Date: Thu Dec 2 13:50:02 2010 +0100
mshtml: Added ActiveX control creation implementation.
:040000 040000 a032a5b136adc58bc4941977b7f0421cf9ca24d2 2c308a0db12bfa8873e59cbe382d1c59652f1aca M dlls ----
I looked into this a little bit and the issue can be "fixed" by removing the call to nsIDOMWindow_Release in npplugin.c:get_elem_window. However, this solution is almost certainly incorrect - the real problem is likely that there is a missing AddRef somewhere. I poked around a bit to see if I could find the missing call, but I didn't see anything suspicious. So, I dug a little deeper and found that (in gecko) the nsIWebProgress has no GetDOMWindow method. Instead, in that position in the nsIWebProgress vtable it has a read-only DOMWindow attribute. If I had to guess I'd say that this (nsio.c:get_channel_window) is where our missing AddRef call should be (or an extra Release, depending on how you look at it).