Hey Jacek,
I just got an MSVC /RTCs stack pointer mismatch error after this call in mshtml's CustomDoc_Release: nsIDOMWindowUtils_CycleCollect(window_utils, NULL, 0);
After some investigation I found that the vtable for this class was off by one element. The culprit seems to be SetCriticalDisplayPortForElement.
The function got removed here in Gecko: http://sourceforge.net/p/wine/wine-gecko/ci/ed28b621505812d584723bfb389983b4...
However the latest nsiface.idl in Wine still has it: https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/mshtml/nsiface.idl#l2...
I did my testing on mshtml 1.7.37 with Wine Gecko 2.34 but it looks like this is still present in the latest code as well. Do you agree with my analysis (i.e. the attached patch) here, or do you think I'm missing something?
Thanks! And thanks for maintaining Wine Gecko... this truly opened my eyes to the complexity of that task ;)
-Thomas
Hi Thomas,
On 04/09/15 15:05, Thomas Faber wrote:
Hey Jacek,
I just got an MSVC /RTCs stack pointer mismatch error after this call in mshtml's CustomDoc_Release: nsIDOMWindowUtils_CycleCollect(window_utils, NULL, 0);
After some investigation I found that the vtable for this class was off by one element. The culprit seems to be SetCriticalDisplayPortForElement.
The function got removed here in Gecko: http://sourceforge.net/p/wine/wine-gecko/ci/ed28b621505812d584723bfb389983b4...
However the latest nsiface.idl in Wine still has it: https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/mshtml/nsiface.idl#l2...
I did my testing on mshtml 1.7.37 with Wine Gecko 2.34 but it looks like this is still present in the latest code as well. Do you agree with my analysis (i.e. the attached patch) here, or do you think I'm missing something?
Thanks! And thanks for maintaining Wine Gecko... this truly opened my eyes to the complexity of that task ;)
That's a great catch, your patch is good. Please send it to wine-patches.
Thanks, Jacek