I've narrowed it down to dlls/user/win.c. If I link the gcc3.4.3 version of the object file (win.o) with all other objects being the gcc4.0.1 versions, Dreamweaver MX (v6.1) does not leave the splash screen hanging.
I ran a +win trace against both versions, but it's not immediately apparent to me exactly which function is behaving in a different manner on the newer compiler. I've uploaded the traces to http://www.eternaldusk.com/programming/win.c.debug.tar.gz, in case someone with a bit more understanding of win.c wants to take a look at them. "good" is the trace using the 3.4.3 object, and "bad" is the one using 4.0.1.
Below are the lines that immediately precede the hangup when using 4.0.1. I've not been able to easily identify the corresponding section of the "good" file, because these functions are all very common.
... trace:win:SetForegroundWindow 0x101ca trace:win:WIN_SetWindowLong 0x101ca 0 0 3 trace:win:GetWindowRect hwnd 0x101ca (429,468)-(851,556) trace:win:RedrawWindow 0x10154 rect (0,0)-(40,40) flags: RDW_INVALIDATE trace:win:RedrawWindow 0x10154 rect (0,0)-(40,40) flags: RDW_INVALIDATE trace:win:WIN_SetWindowLong 0x101ca 0 0 3 trace:win:SetForegroundWindow (nil) trace:win:WIN_SetWindowLong 0x101ca 0 0 3 trace:win:WIN_SetWindowLong 0x101ca 0 0 3 trace:win:WIN_SetWindowLong 0x101ca 0 0 3 trace:win:WIN_SetWindowLong 0x101ca 0 0 3 trace:win:WIN_SetWindowLong 0x10028 0 0 3 trace:win:WIN_SetWindowLong 0x101d0 0 0 3 trace:win:WIN_SetWindowLong 0x101ca 0 0 3
-Jesse Litton
Marcus Meissner wrote:
If you spotted it to one directory, you can reduce it to a file level.
Ciao, Marcus