diff --git a/dll/win32/shell32/dialogs/filetypes.cpp b/dll/win32/shell32/dialogs/filetypes.cpp index ba2a5c10a42..3f29d7322a0 100644 --- a/dll/win32/shell32/dialogs/filetypes.cpp +++ b/dll/win32/shell32/dialogs/filetypes.cpp @@ -1714,10 +1714,13 @@ FolderOptionsFileTypesDlg( break; case IDC_FILETYPES_ADVANCED: - edittype.hwndLV = GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW); - edittype.pEntry = FileTypesDlg_GetEntry(edittype.hwndLV); - DialogBoxParamW(shell32_hInstance, MAKEINTRESOURCEW(IDD_EDITTYPE), - hwndDlg, EditTypeDlgProc, (LPARAM)&edittype); + pEntry = FileTypesDlg_GetEntry(GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW)); + if (pEntry) + { edittype.hwndLV = GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW); + edittype.pEntry = pEntry; + DialogBoxParamW(shell32_hInstance, MAKEINTRESOURCEW(IDD_EDITTYPE), + hwndDlg, EditTypeDlgProc, (LPARAM)&edittype); + } break; } break; @@ -1737,10 +1740,13 @@ FolderOptionsFileTypesDlg( } case NM_DBLCLK: - edittype.hwndLV = GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW); - edittype.pEntry = FileTypesDlg_GetEntry(edittype.hwndLV); - DialogBoxParamW(shell32_hInstance, MAKEINTRESOURCEW(IDD_EDITTYPE), - hwndDlg, EditTypeDlgProc, (LPARAM)&edittype); + pEntry = FileTypesDlg_GetEntry(GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW)); + if (pEntry) + { edittype.hwndLV = GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW); + edittype.pEntry = pEntry; + DialogBoxParamW(shell32_hInstance, MAKEINTRESOURCEW(IDD_EDITTYPE), + hwndDlg, EditTypeDlgProc, (LPARAM)&edittype); + } break; case LVN_DELETEALLITEMS: