From e9d1c91f467954843391e9b169f911cebd193f3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Thu, 19 Nov 2015 13:42:55 +0000 Subject: [PATCH] [USER32] - Fix MB_GetString: the input parameter is the ID of the button string to be retrieved, ranging from 0 to 10 inclusive (this corresponds to the IDOK ... IDCONTINUE range, minus one). - Add the missing "Close" button string. svn path=/trunk/; revision=69937 --- reactos/win32ss/user/user32/include/resource.h | 8 ++++++++ reactos/win32ss/user/user32/lang/bg-BG.rc | 1 + reactos/win32ss/user/user32/lang/cs-CZ.rc | 1 + reactos/win32ss/user/user32/lang/da-DK.rc | 1 + reactos/win32ss/user/user32/lang/de-DE.rc | 1 + reactos/win32ss/user/user32/lang/el-GR.rc | 1 + reactos/win32ss/user/user32/lang/en-US.rc | 1 + reactos/win32ss/user/user32/lang/es-ES.rc | 1 + reactos/win32ss/user/user32/lang/fr-FR.rc | 1 + reactos/win32ss/user/user32/lang/he-IL.rc | 1 + reactos/win32ss/user/user32/lang/hu-HU.rc | 1 + reactos/win32ss/user/user32/lang/id-ID.rc | 1 + reactos/win32ss/user/user32/lang/it-IT.rc | 1 + reactos/win32ss/user/user32/lang/ja-JP.rc | 1 + reactos/win32ss/user/user32/lang/lt-LT.rc | 1 + reactos/win32ss/user/user32/lang/nl-NL.rc | 1 + reactos/win32ss/user/user32/lang/no-NO.rc | 1 + reactos/win32ss/user/user32/lang/pl-PL.rc | 1 + reactos/win32ss/user/user32/lang/pt-BR.rc | 1 + reactos/win32ss/user/user32/lang/ro-RO.rc | 3 ++- reactos/win32ss/user/user32/lang/ru-RU.rc | 1 + reactos/win32ss/user/user32/lang/sk-SK.rc | 1 + reactos/win32ss/user/user32/lang/sv-SE.rc | 1 + reactos/win32ss/user/user32/lang/tr-TR.rc | 1 + reactos/win32ss/user/user32/lang/uk-UA.rc | 1 + reactos/win32ss/user/user32/lang/zh-CN.rc | 11 ++++++----- reactos/win32ss/user/user32/windows/messagebox.c | 8 ++++++-- 27 files changed, 45 insertions(+), 8 deletions(-) diff --git a/reactos/win32ss/user/user32/include/resource.h b/reactos/win32ss/user/user32/include/resource.h index eb34d503df7..3d0088fec26 100644 --- a/reactos/win32ss/user/user32/include/resource.h +++ b/reactos/win32ss/user/user32/include/resource.h @@ -8,6 +8,13 @@ #pragma once #define IDS_ERROR (2) + +/* + * Button names IDs. + * + * The low value must be equal to the corresponding + * IDOK ... IDCONTINUE values, minus one. + */ #define IDS_OK (800) #define IDS_CANCEL (801) #define IDS_ABORT (802) @@ -15,6 +22,7 @@ #define IDS_IGNORE (804) #define IDS_YES (805) #define IDS_NO (806) +#define IDS_CLOSE (807) #define IDS_HELP (808) #define IDS_TRYAGAIN (809) #define IDS_CONTINUE (810) diff --git a/reactos/win32ss/user/user32/lang/bg-BG.rc b/reactos/win32ss/user/user32/lang/bg-BG.rc index 8c63abc8f3d..01413b769d5 100644 --- a/reactos/win32ss/user/user32/lang/bg-BG.rc +++ b/reactos/win32ss/user/user32/lang/bg-BG.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "Прене&брегване" IDS_YES "&Да" IDS_NO "&Не" + IDS_CLOSE "&Затваряне" IDS_HELP "Помощ" IDS_TRYAGAIN "&Нов опит" IDS_CONTINUE "Про&дължаване" diff --git a/reactos/win32ss/user/user32/lang/cs-CZ.rc b/reactos/win32ss/user/user32/lang/cs-CZ.rc index 874b557f90a..99b9de96c06 100644 --- a/reactos/win32ss/user/user32/lang/cs-CZ.rc +++ b/reactos/win32ss/user/user32/lang/cs-CZ.rc @@ -70,6 +70,7 @@ BEGIN IDS_IGNORE "&Ignorovat" IDS_YES "&Ano" IDS_NO "&Ne" + IDS_CLOSE "&Zavřít" IDS_HELP "Nápověda" IDS_TRYAGAIN "Z&kusit znovu" IDS_CONTINUE "P&okračovat" diff --git a/reactos/win32ss/user/user32/lang/da-DK.rc b/reactos/win32ss/user/user32/lang/da-DK.rc index 9a09cc4e804..aa4948bf8b3 100644 --- a/reactos/win32ss/user/user32/lang/da-DK.rc +++ b/reactos/win32ss/user/user32/lang/da-DK.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "&Ignorer" IDS_YES "&Ja" IDS_NO "&Nej" + IDS_CLOSE "&Luk" IDS_HELP "Hjælp" IDS_TRYAGAIN "&Forsøg Igen" IDS_CONTINUE "&Forsæt" diff --git a/reactos/win32ss/user/user32/lang/de-DE.rc b/reactos/win32ss/user/user32/lang/de-DE.rc index 6857d7a0d52..4435576d947 100644 --- a/reactos/win32ss/user/user32/lang/de-DE.rc +++ b/reactos/win32ss/user/user32/lang/de-DE.rc @@ -67,6 +67,7 @@ BEGIN IDS_IGNORE "&Ignorieren" IDS_YES "&Ja" IDS_NO "&Nein" + IDS_CLOSE "S&chließen" IDS_HELP "Hilfe" IDS_TRYAGAIN "&Wiederholen" IDS_CONTINUE "&Weiter" diff --git a/reactos/win32ss/user/user32/lang/el-GR.rc b/reactos/win32ss/user/user32/lang/el-GR.rc index 3443d8ba87d..843406588a9 100644 --- a/reactos/win32ss/user/user32/lang/el-GR.rc +++ b/reactos/win32ss/user/user32/lang/el-GR.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "Παρά&βλεψη" IDS_YES "&Ναι" IDS_NO "Ο&χι" + IDS_CLOSE "&Κλείσημο" IDS_HELP "Βοήθεια" IDS_TRYAGAIN "&Επανάληψη" IDS_CONTINUE "&Συνέχεια" diff --git a/reactos/win32ss/user/user32/lang/en-US.rc b/reactos/win32ss/user/user32/lang/en-US.rc index 79e64259f0c..c8376984394 100644 --- a/reactos/win32ss/user/user32/lang/en-US.rc +++ b/reactos/win32ss/user/user32/lang/en-US.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "&Ignore" IDS_YES "&Yes" IDS_NO "&No" + IDS_CLOSE "&Close" IDS_HELP "Help" IDS_TRYAGAIN "&Try Again" IDS_CONTINUE "&Continue" diff --git a/reactos/win32ss/user/user32/lang/es-ES.rc b/reactos/win32ss/user/user32/lang/es-ES.rc index bba5362264b..eacc402e96f 100644 --- a/reactos/win32ss/user/user32/lang/es-ES.rc +++ b/reactos/win32ss/user/user32/lang/es-ES.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "&Ignorar" IDS_YES "&Si" IDS_NO "&No" + IDS_CLOSE "&Cerrar" IDS_HELP "Ayuda" IDS_TRYAGAIN "In&tentar Otra vez" IDS_CONTINUE "&Continuar" diff --git a/reactos/win32ss/user/user32/lang/fr-FR.rc b/reactos/win32ss/user/user32/lang/fr-FR.rc index 6be621c4372..609617302b4 100644 --- a/reactos/win32ss/user/user32/lang/fr-FR.rc +++ b/reactos/win32ss/user/user32/lang/fr-FR.rc @@ -67,6 +67,7 @@ BEGIN IDS_IGNORE "&Ignorer" IDS_YES "&Oui" IDS_NO "&Non" + IDS_CLOSE "&Fermer" IDS_HELP "Aide" IDS_TRYAGAIN "R&ecommencer" IDS_CONTINUE "&Continuer" diff --git a/reactos/win32ss/user/user32/lang/he-IL.rc b/reactos/win32ss/user/user32/lang/he-IL.rc index dba178e8576..32266af521b 100644 --- a/reactos/win32ss/user/user32/lang/he-IL.rc +++ b/reactos/win32ss/user/user32/lang/he-IL.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "ה&תעלם" IDS_YES "&כן" IDS_NO "&לא" + IDS_CLOSE "&סגור" IDS_HELP "עזרה" IDS_TRYAGAIN "&נסה שוב" IDS_CONTINUE "&המשך" diff --git a/reactos/win32ss/user/user32/lang/hu-HU.rc b/reactos/win32ss/user/user32/lang/hu-HU.rc index e2818592999..c91da00f16d 100644 --- a/reactos/win32ss/user/user32/lang/hu-HU.rc +++ b/reactos/win32ss/user/user32/lang/hu-HU.rc @@ -67,6 +67,7 @@ BEGIN IDS_IGNORE "&Tovább" IDS_YES "&Igen" IDS_NO "&Nem" + IDS_CLOSE "&Bezár" IDS_HELP "Súgó" IDS_TRYAGAIN "&Újra" IDS_CONTINUE "&Folytat" diff --git a/reactos/win32ss/user/user32/lang/id-ID.rc b/reactos/win32ss/user/user32/lang/id-ID.rc index 5ef794e2b4a..31f9b4c6340 100644 --- a/reactos/win32ss/user/user32/lang/id-ID.rc +++ b/reactos/win32ss/user/user32/lang/id-ID.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "Aba&ikan" IDS_YES "&Ya" IDS_NO "&Tidak" + IDS_CLOSE "T&utup" IDS_HELP "Bantuan" IDS_TRYAGAIN "&Coba Lagi" IDS_CONTINUE "&Lanjutkan" diff --git a/reactos/win32ss/user/user32/lang/it-IT.rc b/reactos/win32ss/user/user32/lang/it-IT.rc index 8710f168243..40dd1b948c3 100644 --- a/reactos/win32ss/user/user32/lang/it-IT.rc +++ b/reactos/win32ss/user/user32/lang/it-IT.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "&Ignora" IDS_YES "&Si" IDS_NO "&No" + IDS_CLOSE "&Chiudi" IDS_HELP "Aiuto" IDS_TRYAGAIN "&Prova ancora" IDS_CONTINUE "&Continua" diff --git a/reactos/win32ss/user/user32/lang/ja-JP.rc b/reactos/win32ss/user/user32/lang/ja-JP.rc index def7aaac8d6..a9451dc5309 100644 --- a/reactos/win32ss/user/user32/lang/ja-JP.rc +++ b/reactos/win32ss/user/user32/lang/ja-JP.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "無視(&I)" IDS_YES "はい(&Y)" IDS_NO "いいえ(&N)" + IDS_CLOSE "閉じる(&C)" IDS_HELP "ヘルプ" IDS_TRYAGAIN "再試行する(&T)" IDS_CONTINUE "続ける(&C)" diff --git a/reactos/win32ss/user/user32/lang/lt-LT.rc b/reactos/win32ss/user/user32/lang/lt-LT.rc index 5cec6b176cd..4bc6a221f35 100644 --- a/reactos/win32ss/user/user32/lang/lt-LT.rc +++ b/reactos/win32ss/user/user32/lang/lt-LT.rc @@ -67,6 +67,7 @@ BEGIN IDS_IGNORE "&Praleisti" IDS_YES "&Taip" IDS_NO "&Ne" + IDS_CLOSE "&Uþverti" IDS_HELP "Pagalba" IDS_TRYAGAIN "&Bandyti vël" IDS_CONTINUE "Tæ&sti" diff --git a/reactos/win32ss/user/user32/lang/nl-NL.rc b/reactos/win32ss/user/user32/lang/nl-NL.rc index 27fbae95e92..6ca628e2f9d 100644 --- a/reactos/win32ss/user/user32/lang/nl-NL.rc +++ b/reactos/win32ss/user/user32/lang/nl-NL.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "&Negeren" IDS_YES "&Ja" IDS_NO "&Nee" + IDS_CLOSE "&Afsluiten" IDS_HELP "Help" IDS_TRYAGAIN "&Probeer opnieuw" IDS_CONTINUE "&Verder" diff --git a/reactos/win32ss/user/user32/lang/no-NO.rc b/reactos/win32ss/user/user32/lang/no-NO.rc index 2b7215102e5..7ba5d894824 100644 --- a/reactos/win32ss/user/user32/lang/no-NO.rc +++ b/reactos/win32ss/user/user32/lang/no-NO.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "&Ignorer" IDS_YES "&Ja" IDS_NO "&Nei" + IDS_CLOSE "&Lukk" IDS_HELP "Hjelp" IDS_TRYAGAIN "&Prøv på nytt" IDS_CONTINUE "&Fortsett" diff --git a/reactos/win32ss/user/user32/lang/pl-PL.rc b/reactos/win32ss/user/user32/lang/pl-PL.rc index 2d35da0354c..9754bca5931 100644 --- a/reactos/win32ss/user/user32/lang/pl-PL.rc +++ b/reactos/win32ss/user/user32/lang/pl-PL.rc @@ -70,6 +70,7 @@ BEGIN IDS_IGNORE "&Ignoruj" IDS_YES "&Tak" IDS_NO "&Nie" + IDS_CLOSE "Zam&knij" IDS_HELP "Pomoc" IDS_TRYAGAIN "&Ponów próbę" IDS_CONTINUE "&Kontynuuj" diff --git a/reactos/win32ss/user/user32/lang/pt-BR.rc b/reactos/win32ss/user/user32/lang/pt-BR.rc index e33dbc0828f..1917efb4dbf 100644 --- a/reactos/win32ss/user/user32/lang/pt-BR.rc +++ b/reactos/win32ss/user/user32/lang/pt-BR.rc @@ -67,6 +67,7 @@ BEGIN IDS_IGNORE "&Ignorar" IDS_YES "&Sim" IDS_NO "&Não" + IDS_CLOSE "&Fechar" IDS_HELP "Ajuda" IDS_TRYAGAIN "&Tentar Novamente" IDS_CONTINUE "&Continuar" diff --git a/reactos/win32ss/user/user32/lang/ro-RO.rc b/reactos/win32ss/user/user32/lang/ro-RO.rc index d2654584003..1b369e9b6c0 100644 --- a/reactos/win32ss/user/user32/lang/ro-RO.rc +++ b/reactos/win32ss/user/user32/lang/ro-RO.rc @@ -70,7 +70,8 @@ BEGIN IDS_IGNORE "Ign&oră" IDS_YES "D&a" IDS_NO "N&u" - IDS_HELP "&Manual…" + IDS_CLOSE "Î&nchide" + IDS_HELP "Manual" IDS_TRYAGAIN "&Reîncearcă" IDS_CONTINUE "&Continuă" END diff --git a/reactos/win32ss/user/user32/lang/ru-RU.rc b/reactos/win32ss/user/user32/lang/ru-RU.rc index 9c375762746..3f1542667f7 100644 --- a/reactos/win32ss/user/user32/lang/ru-RU.rc +++ b/reactos/win32ss/user/user32/lang/ru-RU.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "&Пропустить" IDS_YES "&Да" IDS_NO "&Нет" + IDS_CLOSE "&Закрыть" IDS_HELP "Справка" IDS_TRYAGAIN "&Повторить" IDS_CONTINUE "&Продолжить" diff --git a/reactos/win32ss/user/user32/lang/sk-SK.rc b/reactos/win32ss/user/user32/lang/sk-SK.rc index 6d9c8e39f44..cd02052dba9 100644 --- a/reactos/win32ss/user/user32/lang/sk-SK.rc +++ b/reactos/win32ss/user/user32/lang/sk-SK.rc @@ -67,6 +67,7 @@ BEGIN IDS_IGNORE "&Ignorovať" IDS_YES "Án&o" IDS_NO "&Nie" + IDS_CLOSE "&Zavrieť" IDS_HELP "Pomoc" IDS_TRYAGAIN "&Skúsiť znova" IDS_CONTINUE "&Pokračovať" diff --git a/reactos/win32ss/user/user32/lang/sv-SE.rc b/reactos/win32ss/user/user32/lang/sv-SE.rc index 61f4a64de64..841e2a02ca9 100644 --- a/reactos/win32ss/user/user32/lang/sv-SE.rc +++ b/reactos/win32ss/user/user32/lang/sv-SE.rc @@ -67,6 +67,7 @@ BEGIN IDS_IGNORE "&Ignorera" IDS_YES "&Ja" IDS_NO "&Nej" + IDS_CLOSE "&Stäng" IDS_HELP "Hjälp" IDS_TRYAGAIN "&Försök igen" IDS_CONTINUE "F&ortsätt" diff --git a/reactos/win32ss/user/user32/lang/tr-TR.rc b/reactos/win32ss/user/user32/lang/tr-TR.rc index 0be1bfb8c8a..855e7ef91e3 100644 --- a/reactos/win32ss/user/user32/lang/tr-TR.rc +++ b/reactos/win32ss/user/user32/lang/tr-TR.rc @@ -67,6 +67,7 @@ BEGIN IDS_IGNORE "&Yoksay" IDS_YES "&Evet" IDS_NO "&Hayır" + IDS_CLOSE "&Kapat" IDS_HELP "Yardım" IDS_TRYAGAIN "&Yeniden Dene" IDS_CONTINUE "&Devam" diff --git a/reactos/win32ss/user/user32/lang/uk-UA.rc b/reactos/win32ss/user/user32/lang/uk-UA.rc index d612581b9f7..42caa463a6a 100644 --- a/reactos/win32ss/user/user32/lang/uk-UA.rc +++ b/reactos/win32ss/user/user32/lang/uk-UA.rc @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "Пр&опустити" IDS_YES "&Так" IDS_NO "Н&і" + IDS_CLOSE "&Закрити" IDS_HELP "Довідка" IDS_TRYAGAIN "По&вторити" IDS_CONTINUE "&Продовжити" diff --git a/reactos/win32ss/user/user32/lang/zh-CN.rc b/reactos/win32ss/user/user32/lang/zh-CN.rc index 42c86045dfe..6bedaced580 100644 --- a/reactos/win32ss/user/user32/lang/zh-CN.rc +++ b/reactos/win32ss/user/user32/lang/zh-CN.rc @@ -20,7 +20,7 @@ BEGIN BEGIN MENUITEM "撤销(&U)", EM_UNDO MENUITEM SEPARATOR - MENUITEM "剪切(&t)", WM_CUT + MENUITEM "剪切(&T)", WM_CUT MENUITEM "复制(&C)", WM_COPY MENUITEM "粘贴(&P)", WM_PASTE MENUITEM "删除(&D)", WM_CLEAR @@ -34,8 +34,8 @@ BEGIN MENUITEM "还原(&R)", SC_RESTORE MENUITEM "移动(&M)", SC_MOVE MENUITEM "大小(&S)", SC_SIZE - MENUITEM "最小化(&n)", SC_MINIMIZE - MENUITEM "最大化(&x)", SC_MAXIMIZE + MENUITEM "最小化(&N)", SC_MINIMIZE + MENUITEM "最大化(&X)", SC_MAXIMIZE MENUITEM SEPARATOR MENUITEM "关闭(&C)\tAlt+F4", SC_CLOSE END @@ -45,8 +45,8 @@ BEGIN MENUITEM "还原(&R)", SC_RESTORE MENUITEM "移动(&M)", SC_MOVE MENUITEM "大小(&S)", SC_SIZE - MENUITEM "最小化(&n)", SC_MINIMIZE - MENUITEM "最大化(&x)", SC_MAXIMIZE + MENUITEM "最小化(&N)", SC_MINIMIZE + MENUITEM "最大化(&X)", SC_MAXIMIZE MENUITEM SEPARATOR MENUITEM "关闭(&C)\tCtrl+F4", SC_CLOSE MENUITEM SEPARATOR @@ -65,6 +65,7 @@ BEGIN IDS_IGNORE "忽略(&I)" IDS_YES "是(&Y)" IDS_NO "否(&N)" + IDS_CLOSE "关闭(&C)" IDS_HELP "帮助" IDS_TRYAGAIN "重试(&T)" IDS_CONTINUE "继续(&C)" diff --git a/reactos/win32ss/user/user32/windows/messagebox.c b/reactos/win32ss/user/user32/windows/messagebox.c index 729cb368d85..4872933d129 100644 --- a/reactos/win32ss/user/user32/windows/messagebox.c +++ b/reactos/win32ss/user/user32/windows/messagebox.c @@ -1055,10 +1055,14 @@ LPCWSTR WINAPI MB_GetString(UINT wBtn) { LPCWSTR btnStr = NULL; - /* The allowable IDs are between IDOK (0) and IDCONTINUE (11) inclusive */ - if (wBtn >= IDCONTINUE) + /* + * The allowable IDs are between "IDOK - 1" (0) and "IDCONTINUE - 1" (10) inclusive. + * See psdk/winuser.h and user32/include/resource.h . + */ + if (wBtn > IDCONTINUE - 1) return NULL; + wBtn += 800; // See user32/include/resource.h LoadStringW(User32Instance, wBtn, (LPWSTR)&btnStr, 0); return btnStr; }