shell32/autocomplete: Reset the enumerator when losing focus if the edit control is not visible anymore.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Gabriel Ivăncescu 2018-11-02 16:50:39 +02:00 committed by Alexandre Julliard
parent e1a7d6eeb1
commit 4f85424d58
1 changed files with 5 additions and 1 deletions

View File

@ -601,10 +601,14 @@ static LRESULT APIENTRY ACEditSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam,
hide_listbox(This, This->hwndListBox, TRUE);
return 0;
case WM_KILLFOCUS:
if ((This->options & ACO_AUTOSUGGEST) && ((HWND)wParam != This->hwndListBox))
if (This->options & ACO_AUTOSUGGEST)
{
if ((HWND)wParam == This->hwndListBox) break;
hide_listbox(This, This->hwndListBox, FALSE);
}
/* Reset the enumerator if it's not visible anymore */
if (!IsWindowVisible(hwnd)) free_enum_strs(This);
break;
case WM_KEYDOWN:
return ACEditSubclassProc_KeyDown(This, hwnd, uMsg, wParam, lParam);