--- old/src/java.desktop/windows/native/libawt/windows/awt_List.cpp 2018-11-02 19:19:32.155472165 +0530 +++ new/src/java.desktop/windows/native/libawt/windows/awt_List.cpp 2018-11-02 19:19:31.715252165 +0530 @@ -478,16 +478,19 @@ MsgRouting AwtList::HandleEvent(MSG *msg, BOOL synthetic) { if (IsFocusingMouseMessage(msg)) { - LONG item = static_cast(SendListMessage(LB_ITEMFROMPOINT, 0, msg->lParam)); - if (item != LB_ERR) { - if (isMultiSelect) { - if (IsItemSelected(item)) { - Deselect(item); + if (GetCount() > 0) { + LONG result = static_cast(SendListMessage(LB_ITEMFROMPOINT, 0, msg->lParam)); + WORD item = LOWORD(result); + if (item < GetCount()) { + if (isMultiSelect) { + if (IsItemSelected(item)) { + Deselect(item); + } else { + Select(item); + } } else { Select(item); } - } else { - Select(item); } } delete msg;