http://bugs.winehq.org/show_bug.cgi?id=8997
--- Comment #36 from Tim Williams tjandacw@yahoo.com 2008-11-15 14:46:54 --- (In reply to comment #26)
Just wanted to chime in as another user who would really like to see Troopmaster 2008 working in Wine. I tried it out recently with Troopmaster 2008 (version 4.00e) running on Fedora 8 wine-0.9.58-1.fc8. I also tried the more recent wine-0.9.60-1.fc8 from "updates-testing." It "almost" works, but I'm seeing what I believe is the same scenario described by the original bug report:
- Start troopmaster with "dot net" enabled
- Database is downloaded from FTP site. (Focus moves to "download" window")
- Download window closes, but focus never returns to original window. As a
result no keystrokes or mouse events can be given to the applications and it's effectively "hung"
I seem to be able to workaround that with the additional steps, but it's not very clean...
- Kill the wine process
- Start Troopmaster again
- When the error messages comes up about the previous abnormal termination,
tell it to go ahead and use the downloaded copy on disk. 7) From this point on Troopmaster functions normally, including updating the database at the end of the session.
(In reply to comment #35)
Started looking into this hanging problem again. I built wine-1.1-8 from source and stepped through the debugger when TroopMaster froze. It's stuck in a loop in calls to GetMessageW from GetMessageA. I put in a printf to print out the message, and after I'm done downloading, I get several WM_PAINT messages, then it goes into a loop with WM_TIMER messages.
Before the WM_PAINT, I get a message with value x036a. This is unknown in winuser.h, so maybe wine isn't handling unknown messages properly. However, I also see this message the second time I bring up TroopMaster and the data is loaded locally.
It looks like the problem is losing focus as mentioned by Peter Fales. I can set a breakpoint in NtCreateFile, NtReadFile, and everything is fine up to there. Once I exit NtReadFile though, the TroopMaster loses focus and doesn't respond to keystrokes or the mouse. The window does refresh, but that's about it.
Another case where TM gets hung is if you try and look at the DotNet log (File->TroopMaster DotNet...->View Log File) This is basically the same situation where the program is downloading data from the server and loses focus after it's done.
Still haven't figured out how to fix it though :-(