Skip to content

Commit e9fb7dc

Browse files
learn-moreJoachimHenze
authored andcommitted
[0.4.12][INPUT] Don't race the system to free an imagelist
Fixes CORE-16121 "reproducible heap assertion at 2nd setup stage when adding additional keyboard layouts" https://reactos.org/testman/compare.php?ids=68231,68234 cherry-picked from 0.4.13-dev-459-g f3d1d38
1 parent ec3cc13 commit e9fb7dc

File tree

1 file changed

+2
-10
lines changed

1 file changed

+2
-10
lines changed

dll/cpl/input/settings_page.c

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,8 @@ OnInitSettingsPage(HWND hwndDlg)
226226
ILC_COLOR8 | ILC_MASK, 0, 0);
227227
if (hLayoutImageList != NULL)
228228
{
229-
ListView_SetImageList(hwndInputList, hLayoutImageList, LVSIL_SMALL);
229+
HIMAGELIST hOldImagelist = ListView_SetImageList(hwndInputList, hLayoutImageList, LVSIL_SMALL);
230+
ImageList_Destroy(hOldImagelist);
230231
}
231232

232233
UpdateInputListView(hwndInputList);
@@ -239,18 +240,9 @@ OnInitSettingsPage(HWND hwndDlg)
239240
static VOID
240241
OnDestroySettingsPage(HWND hwndDlg)
241242
{
242-
HIMAGELIST hImageList;
243-
244243
LayoutList_Destroy();
245244
LocaleList_Destroy();
246245
InputList_Destroy();
247-
248-
hImageList = ListView_GetImageList(GetDlgItem(hwndDlg, IDC_KEYLAYOUT_LIST),
249-
LVSIL_SMALL);
250-
if (hImageList != NULL)
251-
{
252-
ImageList_Destroy(hImageList);
253-
}
254246
}
255247

256248

0 commit comments

Comments
 (0)