http://bugs.winehq.org/show_bug.cgi?id=10543
--- Comment #1 from Vincent Povirk madewokherd@gmail.com 2007-11-22 15:22:48 --- I believe this is significant:
The game only crashes when I click on a button. If I click on the background (which is a useless and silly thing to do), the game continues to run.
Worms Armageddon creates two top-level windows: one titled Worms Armageddon and one titled T17. Each screen in the menu is actually a dialog that it paints over with directdraw.
I've made a +win,+dialog log with 0.9.48 and 0.9.49 of me clicking on a button in the WA menu. After the click (which I located by searching for SendInput mouse), the logs begin to diverge at WINPOS_ActivateOtherWindow (apparently this function is called as a result of EndDialog). I do not understand the purpose of that function or how it works, but in 0.9.48 it chooses T17. In 0.9.49, it chooses (nil). I believe this is causing WA to attempt to minimize itself at a critical time and causing the crash.
Since WINPOS_ActivateOtherWindow was not modified in the patch identified by git bisect, I believe that the difference is because of other ways that the windows were treated differently before that function was called.
I think that if I understood why WINPOS_ActivateOtherWindow used to choose T17, I would know much more about this problem. It seems to me it should only choose a root window or a sibling of the hwnd passed to it as an argument (which in this case should be the dialog, a child of Worms Armageddon). Can anyone explain or point me to documentation about any of this?
I will attached the gzipped logs.