Index: win32ss/user/user32/controls/edit.c =================================================================== --- win32ss/user/user32/controls/edit.c (revision 69297) +++ win32ss/user/user32/controls/edit.c (working copy) @@ -3626,14 +3626,27 @@ */ static LRESULT EDIT_WM_KillFocus(EDITSTATE *es) { + HWND hCombo; + LONG lStyles; + es->flags &= ~EF_FOCUSED; DestroyCaret(); if(!(es->style & ES_NOHIDESEL)) EDIT_InvalidateText(es, es->selection_start, es->selection_end); - EDIT_NOTIFY_PARENT(es, EN_KILLFOCUS); - /* throw away left over scroll when we lose focus */ - es->wheelDeltaRemainder = 0; - return 0; + + /* throw away left over scroll when we lose focus */ + es->wheelDeltaRemainder = 0; + + if (es->hwndListBox == NULL) + EDIT_NOTIFY_PARENT(es, EN_KILLFOCUS); + else + { /* send the undocumented 0x167 message to combobox */ + hCombo = GetParent(es->hwndSelf); + lStyles = GetWindowLong(hCombo, GWL_STYLE); + if ((lStyles & CBS_DROPDOWN) || (lStyles & CBS_SIMPLE)) + SendMessage(hCombo, 0x167, 0, 0); + } + return 0; }