diff --git a/dlls/user32/listbox.c b/dlls/user32/listbox.c index 286a33b1c18..3eee691086e 100644 --- a/dlls/user32/listbox.c +++ b/dlls/user32/listbox.c @@ -120,6 +120,11 @@ static TIMER_DIRECTION LISTBOX_Timer = LB_TIMER_NONE; static LRESULT LISTBOX_GetItemRect( const LB_DESCR *descr, INT index, RECT *rect ); +static BOOL is_item_selected( const LB_DESCR *descr, UINT index ) +{ + return descr->items[index].selected; +} + /********************************************************************* * listbox class descriptor */ @@ -2866,7 +2871,7 @@ LRESULT ListBoxWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam case LB_GETSEL: if (((INT)wParam < 0) || ((INT)wParam >= descr->nb_items)) return LB_ERR; - return descr->items[wParam].selected; + return is_item_selected(descr, wParam); case LB_SETSEL: ret = LISTBOX_SetSelection( descr, lParam, wParam, FALSE );