From 3e8240e837a06c808640662cbc4c54697513348d Mon Sep 17 00:00:00 2001 From: Gregor Schneider Date: Thu, 15 Apr 2010 21:01:12 +0000 Subject: [PATCH] [DESK] - Don't autoequip listview item selections upon item creation - Handle selections via SetItemState, select newly added items that way - Fixes current background wallpaper item not being selected initially and selection being ignored later See issue #5030,5116 for more details. svn path=/trunk/; revision=46887 --- reactos/dll/cpl/desk/background.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/reactos/dll/cpl/desk/background.c b/reactos/dll/cpl/desk/background.c index fe4362a30a2..c03c66dc4a4 100644 --- a/reactos/dll/cpl/desk/background.c +++ b/reactos/dll/cpl/desk/background.c @@ -94,14 +94,17 @@ AddListViewItems(HWND hwndDlg, PGLOBAL_DATA pGlobalData) ZeroMemory(&listItem, sizeof(LV_ITEM)); listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE; - listItem.state = LVIS_SELECTED; + listItem.state = 0; listItem.pszText = backgroundItem->szDisplayName; listItem.iImage = -1; listItem.iItem = pGlobalData->listViewItemCount; listItem.lParam = pGlobalData->listViewItemCount; (void)ListView_InsertItem(hwndBackgroundList, &listItem); - ListView_SetItemState(hwndBackgroundList, pGlobalData->listViewItemCount, LVIS_SELECTED, LVIS_SELECTED); + ListView_SetItemState(hwndBackgroundList, + pGlobalData->listViewItemCount, + LVIS_SELECTED, + LVIS_SELECTED); pGlobalData->listViewItemCount++; @@ -143,14 +146,17 @@ AddListViewItems(HWND hwndDlg, PGLOBAL_DATA pGlobalData) ZeroMemory(&listItem, sizeof(LV_ITEM)); listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE; - listItem.state = LVIS_SELECTED; + listItem.state = 0; listItem.pszText = backgroundItem->szDisplayName; listItem.iImage = sfi.iIcon; listItem.iItem = pGlobalData->listViewItemCount; listItem.lParam = pGlobalData->listViewItemCount; (void)ListView_InsertItem(hwndBackgroundList, &listItem); - ListView_SetItemState(hwndBackgroundList, pGlobalData->listViewItemCount, LVIS_SELECTED, LVIS_SELECTED); + ListView_SetItemState(hwndBackgroundList, + pGlobalData->listViewItemCount, + LVIS_SELECTED, + LVIS_SELECTED); pGlobalData->listViewItemCount++; } @@ -454,13 +460,17 @@ OnBrowseButton(HWND hwndDlg, PGLOBAL_DATA pGlobalData) ZeroMemory(&listItem, sizeof(LV_ITEM)); listItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE; - listItem.state = LVIS_SELECTED; + listItem.state = 0; listItem.pszText = backgroundItem->szDisplayName; listItem.iImage = sfi.iIcon; listItem.iItem = pGlobalData->listViewItemCount; listItem.lParam = pGlobalData->listViewItemCount; (void)ListView_InsertItem(hwndBackgroundList, &listItem); + ListView_SetItemState(hwndBackgroundList, + pGlobalData->listViewItemCount, + LVIS_SELECTED, + LVIS_SELECTED); SendMessage(hwndBackgroundList, WM_VSCROLL, SB_BOTTOM, 0); pGlobalData->listViewItemCount++;