https://git.reactos.org/?p=reactos.git;a=commitdiff;h=de87a936ceb6e715a01fc…
commit de87a936ceb6e715a01fc33ce302630b64505ff6
Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
AuthorDate: Sat May 19 22:04:20 2018 +0200
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Sat May 19 22:07:06 2018 +0200
[NTOS] Demote an ASSERT to a mere DPRINT since we only support registry hives with cluster size == 1 in any case so far (other sizes are UNIMPLEMENTED!)
---
ntoskrnl/config/cmsysini.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/ntoskrnl/config/cmsysini.c b/ntoskrnl/config/cmsysini.c
index 80bc55bbc1..ca198833a4 100644
--- a/ntoskrnl/config/cmsysini.c
+++ b/ntoskrnl/config/cmsysini.c
@@ -1369,15 +1369,19 @@ CmpLoadHiveThread(IN PVOID StartContext)
Length = CmHive->Hive.Storage[Stable].Length + HBLOCK_SIZE;
/* Check if the cluster size doesn't match */
- if (CmHive->Hive.Cluster != ClusterSize) ASSERT(FALSE);
+ if (CmHive->Hive.Cluster != ClusterSize)
+ {
+ DPRINT1("FIXME: Support for CmHive->Hive.Cluster (%lu) != ClusterSize (%lu) is unimplemented!\n",
+ CmHive->Hive.Cluster, ClusterSize);
+ }
/* Set the file size */
- DPRINT("FIXME: Should set file size: %lx\n", Length);
+ DPRINT("FIXME: Should set file size: %lu\n", Length);
//if (!CmpFileSetSize((PHHIVE)CmHive, HFILE_TYPE_PRIMARY, Length, Length))
- {
+ //{
/* This shouldn't fail */
//ASSERT(FALSE);
- }
+ //}
/* Another thing we don't support is NTLDR-recovery */
if (CmHive->Hive.BaseBlock->BootRecover) ASSERT(FALSE);
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=82a5983504b955d5639a5…
commit 82a5983504b955d5639a58d64022ec5cd9ece8b3
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Sat May 19 23:12:11 2018 +0900
Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org>
CommitDate: Sat May 19 16:12:11 2018 +0200
[SHELL32] Allow deleting a file type/extension (#553)
CORE-12906
---
dll/win32/shell32/dialogs/folder_options.cpp | 62 ++++++++++++++++++++++++++++
dll/win32/shell32/lang/bg-BG.rc | 2 +
dll/win32/shell32/lang/ca-ES.rc | 2 +
dll/win32/shell32/lang/cs-CZ.rc | 2 +
dll/win32/shell32/lang/da-DK.rc | 2 +
dll/win32/shell32/lang/de-DE.rc | 2 +
dll/win32/shell32/lang/el-GR.rc | 2 +
dll/win32/shell32/lang/en-GB.rc | 2 +
dll/win32/shell32/lang/en-US.rc | 2 +
dll/win32/shell32/lang/es-ES.rc | 2 +
dll/win32/shell32/lang/et-EE.rc | 2 +
dll/win32/shell32/lang/fi-FI.rc | 2 +
dll/win32/shell32/lang/fr-FR.rc | 2 +
dll/win32/shell32/lang/he-IL.rc | 2 +
dll/win32/shell32/lang/hu-HU.rc | 2 +
dll/win32/shell32/lang/it-IT.rc | 2 +
dll/win32/shell32/lang/ja-JP.rc | 2 +
dll/win32/shell32/lang/ko-KR.rc | 2 +
dll/win32/shell32/lang/nl-NL.rc | 2 +
dll/win32/shell32/lang/no-NO.rc | 2 +
dll/win32/shell32/lang/pl-PL.rc | 2 +
dll/win32/shell32/lang/pt-BR.rc | 2 +
dll/win32/shell32/lang/pt-PT.rc | 2 +
dll/win32/shell32/lang/ro-RO.rc | 2 +
dll/win32/shell32/lang/ru-RU.rc | 2 +
dll/win32/shell32/lang/sk-SK.rc | 2 +
dll/win32/shell32/lang/sl-SI.rc | 2 +
dll/win32/shell32/lang/sq-AL.rc | 2 +
dll/win32/shell32/lang/sv-SE.rc | 2 +
dll/win32/shell32/lang/tr-TR.rc | 2 +
dll/win32/shell32/lang/uk-UA.rc | 2 +
dll/win32/shell32/lang/zh-CN.rc | 2 +
dll/win32/shell32/lang/zh-TW.rc | 2 +
dll/win32/shell32/shresdef.h | 2 +
34 files changed, 128 insertions(+)
diff --git a/dll/win32/shell32/dialogs/folder_options.cpp b/dll/win32/shell32/dialogs/folder_options.cpp
index b53dd8ce0d..cffee8bee1 100644
--- a/dll/win32/shell32/dialogs/folder_options.cpp
+++ b/dll/win32/shell32/dialogs/folder_options.cpp
@@ -1349,6 +1349,30 @@ FindItem(HWND hDlgCtrl, WCHAR * ItemName)
return ListView_FindItem(hDlgCtrl, 0, &findInfo);
}
+static BOOL
+DeleteExt(HWND hwndDlg, LPCWSTR pszExt)
+{
+ if (*pszExt != L'.')
+ return FALSE;
+
+ HKEY hKey;
+ LONG nResult = RegOpenKeyExW(HKEY_CLASSES_ROOT, pszExt, 0, KEY_READ, &hKey);
+ if (nResult != ERROR_SUCCESS)
+ return FALSE;
+
+ WCHAR szValue[64];
+ DWORD cbValue = sizeof(szValue);
+ nResult = RegQueryValueExW(hKey, NULL, NULL, NULL, LPBYTE(szValue), &cbValue);
+ RegCloseKey(hKey);
+ if (nResult != ERROR_SUCCESS)
+ return FALSE;
+
+ if (szValue[0])
+ SHDeleteKeyW(HKEY_CLASSES_ROOT, szValue);
+
+ return SHDeleteKeyW(HKEY_CLASSES_ROOT, pszExt) == ERROR_SUCCESS;
+}
+
static
VOID
InsertFileType(HWND hDlgCtrl, WCHAR * szName, PINT iItem, WCHAR * szFile)
@@ -1749,6 +1773,12 @@ NewExtDlg_OnOK(HWND hwndDlg, NEWEXT_DIALOG *pNewExt)
return FALSE;
}
+ // Delete the extension
+ CStringW strExt(L".");
+ strExt += find.psz;
+ strExt.MakeLower();
+ DeleteExt(hwndDlg, strExt);
+
// Delete the item
ListView_DeleteItem(pNewExt->hwndLV, iItem);
}
@@ -1873,6 +1903,28 @@ FileTypesDlg_AddExt(HWND hwndDlg, LPCWSTR pszExt, LPCWSTR pszFileType)
return TRUE;
}
+static BOOL
+FileTypesDlg_RemoveExt(HWND hwndDlg)
+{
+ HWND hListView = GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW);
+
+ INT iItem = ListView_GetNextItem(hListView, -1, LVNI_SELECTED);
+ if (iItem == -1)
+ return FALSE;
+
+ WCHAR szExt[20];
+ szExt[0] = L'.';
+ ListView_GetItemText(hListView, iItem, 0, &szExt[1], _countof(szExt) - 1);
+ CharLowerW(szExt);
+
+ if (DeleteExt(hwndDlg, szExt))
+ {
+ ListView_DeleteItem(hListView, iItem);
+ return TRUE;
+ }
+ return FALSE;
+}
+
// IDD_FOLDER_OPTIONS_FILETYPES dialog
INT_PTR
CALLBACK
@@ -1911,6 +1963,16 @@ FolderOptionsFileTypesDlg(
FileTypesDlg_AddExt(hwndDlg, newext.szExt, newext.szFileType);
}
break;
+ case IDC_FILETYPES_DELETE:
+ {
+ CStringW strRemoveExt(MAKEINTRESOURCEW(IDS_REMOVE_EXT));
+ CStringW strTitle(MAKEINTRESOURCEW(IDS_FILE_TYPES));
+ if (MessageBoxW(hwndDlg, strRemoveExt, strTitle, MB_ICONQUESTION | MB_YESNO) == IDYES)
+ {
+ FileTypesDlg_RemoveExt(hwndDlg);
+ }
+ }
+ break;
case IDC_FILETYPES_CHANGE:
pItem = FindSelectedItem(GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW));
if (pItem)
diff --git a/dll/win32/shell32/lang/bg-BG.rc b/dll/win32/shell32/lang/bg-BG.rc
index e1434cc693..94daa0323b 100644
--- a/dll/win32/shell32/lang/bg-BG.rc
+++ b/dll/win32/shell32/lang/bg-BG.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/ca-ES.rc b/dll/win32/shell32/lang/ca-ES.rc
index 5e132b5a23..53c5ebacfb 100644
--- a/dll/win32/shell32/lang/ca-ES.rc
+++ b/dll/win32/shell32/lang/ca-ES.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/cs-CZ.rc b/dll/win32/shell32/lang/cs-CZ.rc
index 88341dee0f..c7494ebf33 100644
--- a/dll/win32/shell32/lang/cs-CZ.rc
+++ b/dll/win32/shell32/lang/cs-CZ.rc
@@ -885,4 +885,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/da-DK.rc b/dll/win32/shell32/lang/da-DK.rc
index 499a764aaf..501648452c 100644
--- a/dll/win32/shell32/lang/da-DK.rc
+++ b/dll/win32/shell32/lang/da-DK.rc
@@ -905,4 +905,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/de-DE.rc b/dll/win32/shell32/lang/de-DE.rc
index 7413b005ac..5bf042e98f 100644
--- a/dll/win32/shell32/lang/de-DE.rc
+++ b/dll/win32/shell32/lang/de-DE.rc
@@ -900,4 +900,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/el-GR.rc b/dll/win32/shell32/lang/el-GR.rc
index b52405c547..635fce0c1f 100644
--- a/dll/win32/shell32/lang/el-GR.rc
+++ b/dll/win32/shell32/lang/el-GR.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/en-GB.rc b/dll/win32/shell32/lang/en-GB.rc
index 75807f8a95..4cd9e85dcc 100644
--- a/dll/win32/shell32/lang/en-GB.rc
+++ b/dll/win32/shell32/lang/en-GB.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/en-US.rc b/dll/win32/shell32/lang/en-US.rc
index 36620174d5..5d327f02f3 100644
--- a/dll/win32/shell32/lang/en-US.rc
+++ b/dll/win32/shell32/lang/en-US.rc
@@ -900,4 +900,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/es-ES.rc b/dll/win32/shell32/lang/es-ES.rc
index 560c3bc11d..4d86e8c865 100644
--- a/dll/win32/shell32/lang/es-ES.rc
+++ b/dll/win32/shell32/lang/es-ES.rc
@@ -901,4 +901,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/et-EE.rc b/dll/win32/shell32/lang/et-EE.rc
index d7e7f5f7da..7fe739bcf2 100644
--- a/dll/win32/shell32/lang/et-EE.rc
+++ b/dll/win32/shell32/lang/et-EE.rc
@@ -907,4 +907,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/fi-FI.rc b/dll/win32/shell32/lang/fi-FI.rc
index 9c047596fb..df2a16de1b 100644
--- a/dll/win32/shell32/lang/fi-FI.rc
+++ b/dll/win32/shell32/lang/fi-FI.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/fr-FR.rc b/dll/win32/shell32/lang/fr-FR.rc
index 94934f332a..a1d20cbba3 100644
--- a/dll/win32/shell32/lang/fr-FR.rc
+++ b/dll/win32/shell32/lang/fr-FR.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/he-IL.rc b/dll/win32/shell32/lang/he-IL.rc
index 21adbdaca7..85a108337b 100644
--- a/dll/win32/shell32/lang/he-IL.rc
+++ b/dll/win32/shell32/lang/he-IL.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/hu-HU.rc b/dll/win32/shell32/lang/hu-HU.rc
index 8cfc2a4fda..38521334e2 100644
--- a/dll/win32/shell32/lang/hu-HU.rc
+++ b/dll/win32/shell32/lang/hu-HU.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/it-IT.rc b/dll/win32/shell32/lang/it-IT.rc
index a676af71b6..82feea8e7a 100644
--- a/dll/win32/shell32/lang/it-IT.rc
+++ b/dll/win32/shell32/lang/it-IT.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/ja-JP.rc b/dll/win32/shell32/lang/ja-JP.rc
index afc51ab142..e21a079cc7 100644
--- a/dll/win32/shell32/lang/ja-JP.rc
+++ b/dll/win32/shell32/lang/ja-JP.rc
@@ -896,4 +896,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/ko-KR.rc b/dll/win32/shell32/lang/ko-KR.rc
index 19a06e0183..fa1c1b97d2 100644
--- a/dll/win32/shell32/lang/ko-KR.rc
+++ b/dll/win32/shell32/lang/ko-KR.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/nl-NL.rc b/dll/win32/shell32/lang/nl-NL.rc
index ba0280cd18..1e46a4c924 100644
--- a/dll/win32/shell32/lang/nl-NL.rc
+++ b/dll/win32/shell32/lang/nl-NL.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/no-NO.rc b/dll/win32/shell32/lang/no-NO.rc
index 9a06724890..223977332a 100644
--- a/dll/win32/shell32/lang/no-NO.rc
+++ b/dll/win32/shell32/lang/no-NO.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/pl-PL.rc b/dll/win32/shell32/lang/pl-PL.rc
index 4040c421fe..e3a06f2487 100644
--- a/dll/win32/shell32/lang/pl-PL.rc
+++ b/dll/win32/shell32/lang/pl-PL.rc
@@ -904,4 +904,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "Musisz podać rozszerzenie."
IDS_NEWEXT_ALREADY_ASSOC "Rozszerzenie %s jest już związane z typem plików %s. Czy chcesz usunąć powiązanie %s z %s i utworzyć dla niego nowy typ plików?"
IDS_NEWEXT_EXT_IN_USE "Rozszerzenie jest w użyciu"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/pt-BR.rc b/dll/win32/shell32/lang/pt-BR.rc
index e7da10ffee..19c7f068ba 100644
--- a/dll/win32/shell32/lang/pt-BR.rc
+++ b/dll/win32/shell32/lang/pt-BR.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/pt-PT.rc b/dll/win32/shell32/lang/pt-PT.rc
index f0df0caf9d..d15c6912ce 100644
--- a/dll/win32/shell32/lang/pt-PT.rc
+++ b/dll/win32/shell32/lang/pt-PT.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/ro-RO.rc b/dll/win32/shell32/lang/ro-RO.rc
index 213d1c654e..54b0ebf0b8 100644
--- a/dll/win32/shell32/lang/ro-RO.rc
+++ b/dll/win32/shell32/lang/ro-RO.rc
@@ -901,4 +901,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/ru-RU.rc b/dll/win32/shell32/lang/ru-RU.rc
index 9999c34582..e924f7b572 100644
--- a/dll/win32/shell32/lang/ru-RU.rc
+++ b/dll/win32/shell32/lang/ru-RU.rc
@@ -901,4 +901,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/sk-SK.rc b/dll/win32/shell32/lang/sk-SK.rc
index e43686755c..acc1f32579 100644
--- a/dll/win32/shell32/lang/sk-SK.rc
+++ b/dll/win32/shell32/lang/sk-SK.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/sl-SI.rc b/dll/win32/shell32/lang/sl-SI.rc
index b31654d02e..8beba1374d 100644
--- a/dll/win32/shell32/lang/sl-SI.rc
+++ b/dll/win32/shell32/lang/sl-SI.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/sq-AL.rc b/dll/win32/shell32/lang/sq-AL.rc
index 0b24962ea8..93e14c424f 100644
--- a/dll/win32/shell32/lang/sq-AL.rc
+++ b/dll/win32/shell32/lang/sq-AL.rc
@@ -903,4 +903,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/sv-SE.rc b/dll/win32/shell32/lang/sv-SE.rc
index 1ffa90923f..fd0f1234c4 100644
--- a/dll/win32/shell32/lang/sv-SE.rc
+++ b/dll/win32/shell32/lang/sv-SE.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/tr-TR.rc b/dll/win32/shell32/lang/tr-TR.rc
index 8bfc5be38f..d54c399302 100644
--- a/dll/win32/shell32/lang/tr-TR.rc
+++ b/dll/win32/shell32/lang/tr-TR.rc
@@ -901,4 +901,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/uk-UA.rc b/dll/win32/shell32/lang/uk-UA.rc
index e821dde925..1ff6fba8c8 100644
--- a/dll/win32/shell32/lang/uk-UA.rc
+++ b/dll/win32/shell32/lang/uk-UA.rc
@@ -899,4 +899,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/zh-CN.rc b/dll/win32/shell32/lang/zh-CN.rc
index e51e1b01e2..c32e28828c 100644
--- a/dll/win32/shell32/lang/zh-CN.rc
+++ b/dll/win32/shell32/lang/zh-CN.rc
@@ -909,4 +909,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/lang/zh-TW.rc b/dll/win32/shell32/lang/zh-TW.rc
index e0bb30c924..60aa2e7eb8 100644
--- a/dll/win32/shell32/lang/zh-TW.rc
+++ b/dll/win32/shell32/lang/zh-TW.rc
@@ -907,4 +907,6 @@ BEGIN
IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File Type %s. Do you want to un-associate %s with %s and create a new File Type for it?"
IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+ IDS_REMOVE_EXT "If you remove a registered file name extension, you will not be able to open files with this extension by double-clicking their icons.\n\nAre you sure you want to remove this extension?"
END
diff --git a/dll/win32/shell32/shresdef.h b/dll/win32/shell32/shresdef.h
index decbc120fc..0014ec2bfa 100644
--- a/dll/win32/shell32/shresdef.h
+++ b/dll/win32/shell32/shresdef.h
@@ -266,6 +266,8 @@
#define IDS_NEWEXT_ALREADY_ASSOC 30520
#define IDS_NEWEXT_EXT_IN_USE 30521
+#define IDS_REMOVE_EXT 30522
+
/* Dialogs */
/* Run dialog */