[PATCH v4 05/11] comctl32/listbox: Use a helper function to check the selection state of an item
Gabriel Ivăncescu
gabrielopcode at gmail.com
Wed Nov 21 13:15:08 CST 2018
Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
---
dlls/comctl32/listbox.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/comctl32/listbox.c b/dlls/comctl32/listbox.c
index a77de49..0638cdb 100644
--- a/dlls/comctl32/listbox.c
+++ b/dlls/comctl32/listbox.c
@@ -125,6 +125,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(LB_DESCR *descr, UINT index)
+{
+ return descr->items[index].selected;
+}
+
/***********************************************************************
* LISTBOX_GetCurrentPageSize
*
@@ -517,7 +522,7 @@ static void LISTBOX_PaintItem( LB_DESCR *descr, HDC hdc, const RECT *rect,
dis.hDC = hdc;
dis.itemID = index;
dis.itemState = 0;
- if (item->selected) dis.itemState |= ODS_SELECTED;
+ if (is_item_selected(descr, index)) dis.itemState |= ODS_SELECTED;
if (!ignoreFocus && (descr->focus_item == index) &&
(descr->caret_on) &&
(descr->in_focus)) dis.itemState |= ODS_FOCUS;
@@ -2763,7 +2768,7 @@ static LRESULT CALLBACK LISTBOX_WindowProc( HWND hwnd, UINT msg, WPARAM wParam,
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 );
--
2.19.1
More information about the wine-devel
mailing list