http://bugs.winehq.org/show_bug.cgi?id=5915
Summary: Application gets crashed when I press enter in combobox (While Cursor is present in combo) Product: Wine Version: 0.9.16. Platform: Other OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: test AssignedTo: wine-bugs@winehq.org ReportedBy: ravinderonline@yahoo.com CC: dank@kegel.com,infyquest@gmail.com
When list box of combo box is expanded, no crash occurs when I press enter. When list box of combo box isnt expanded and cursor is present in combo box and I press enter, Application crashes.
I tried to debug the wine code and could find the place from where crash occurred. It is coming from /home/ravinder/winecode/wine-0.9.16/dlls/user/edit.c
case WM_GETDLGCODE:
result = DLGC_HASSETSEL | DLGC_WANTCHARS | DLGC_WANTARROWS;
if (es->style & ES_MULTILINE) { result |= DLGC_WANTALLKEYS; break; }
if (lParam && (((LPMSG)lParam)->message == WM_KEYDOWN)) { int vk = (int)((LPMSG)lParam)->wParam;
if (es->hwndListBox && (vk == VK_RETURN || vk == VK_ESCAPE)) { if (SendMessageW(GetParent(hwnd), CB_GETDROPPEDSTATE, 0, 0)) ++ { ++ MessageBoxA(NULL,INSIDE IF LOOP, EDIT, MB_OK); result |= DLGC_WANTMESSAGE; ++ } ++ else ++ { ++ //Some Code is missing to handle this situation when list box of combo box isnt expanded. ++ } } break;
I tried sending different messages from this place like WM_KILLFOCUS but crash inst being avoided. In one case crash stops when I remove the if (SendMessageW(GetParent(hwnd), CB_GETDROPPEDSTATE, 0, 0)) and put directly result |= DLGC_WANTMESSAGE; under if (es->hwndListBox && (vk == VK_RETURN || vk == VK_ESCAPE)) But in this case focus isnt lost.
I made a test case but I wasnt able to simulate the issue in test case. I have attached the screenshot of the issue and log generated with channel as edit and combo.