http://bugs.winehq.org/show_bug.cgi?id=12496
Summary: SSF: SendMessage Error MessageBox ends program Product: Wine Version: 0.9.58. Platform: PC-x86-64 URL: http://www7a.biglobe.ne.jp/%7Ephantasy/ssf/files/SSF_009 _beta.zip OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: user32 AssignedTo: wine-bugs@winehq.org ReportedBy: james.jrp015@gmail.com
Created an attachment (id=12059) --> (http://bugs.winehq.org/attachment.cgi?id=12059) WINEDEBUG=+win,+msg,+relay wine SSF
The program displays a Messagebox with a SendMessage Error.
Decompiling with REC indicates that either
1) SendMessageA with hWnd=ImmGetDefaultIMEWnd90 msg=WM_IME_CONTROL and wParam=IMC_CLOSESTATUSWINDOW = &H21 should return a 0 in this case=.
or
2) ImmGetDefaultIMEWnd() should return 0.
I think it's probably #1, but ImmGetDefaultIMEWnd does have a FIXME.
I wonder if all the WM_IME_RETURN values should be reversed from 1 to 0, but I modified my code to return a zero in this one circumstance and the program did go slightly further, but I don't know if it's the right thing to do.
Here's a MSDN reference for WM_IME_CONTROL messages:
http://msdn2.microsoft.com/en-us/library/ms776174(VS.85).aspx
http://bugs.winehq.org/show_bug.cgi?id=12496
--- Comment #1 from James james.jrp015@gmail.com 2008-04-11 00:30:41 --- Forgot to ask, but are GetLastError(), TlsGetValue(), FlsGetValue(), and SetLastError() called as a routine thing, or do they indicate an error?
http://bugs.winehq.org/show_bug.cgi?id=12496
--- Comment #2 from James james.jrp015@gmail.com 2008-04-11 00:38:41 --- Created an attachment (id=12060) --> (http://bugs.winehq.org/attachment.cgi?id=12060) Modification I made to try and fix it
http://bugs.winehq.org/show_bug.cgi?id=12496
--- Comment #3 from Austin English austinenglish@gmail.com 2008-04-11 13:00:46 --- Works fine in git. I do see the error in wine 0.9.59 though.
http://bugs.winehq.org/show_bug.cgi?id=12496
--- Comment #4 from Lei Zhang thestig@google.com 2008-04-11 19:54:15 --- (In reply to comment #3)
Works fine in git. I do see the error in wine 0.9.59 though.
Mark as fixed?
http://bugs.winehq.org/show_bug.cgi?id=12496
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Keywords| |download Resolution| |FIXED
--- Comment #5 from Austin English austinenglish@gmail.com 2008-04-11 21:23:00 --- Don't know why I didn't in the first place :-/.
http://bugs.winehq.org/show_bug.cgi?id=12496
James james.jrp015@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|FIXED | Version|0.9.58. |0.9.59.
--- Comment #6 from James james.jrp015@gmail.com 2008-04-16 21:43:43 --- I'm not so sure this is fixed.
Instead, I think an error was introduced into ImmGetDefaultIMEWnd()
You can see that the program does not get to user32.SendMessageA(00020040,00000283,00000021,00000000) as shown in the WINEDEBUG log
It seems to be that this is due to the latest git's 001b:Ret imm32.ImmGetDefaultIMEWnd() retval=00000000 ret=00404549 being an incorrect return value as compared to 001e:Ret imm32.ImmGetDefaultIMEWnd() retval=00020040 ret=00404549 in 0.9.59
I'll add the new bug, and I think that this bug should be reopened.
http://bugs.winehq.org/show_bug.cgi?id=12496
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #7 from Austin English austinenglish@gmail.com 2008-04-16 22:46:02 --- No, this bug is fixed. Open a new bug for any new issues.
http://bugs.winehq.org/show_bug.cgi?id=12496
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org 2008-04-18 11:04:46 --- Closing bugs reported fixed in 0.9.60.