[2/3] wordpad: Show error when user tries to add more than max tab stops.

Dylan Smith dylan.ah.smith at gmail.com
Tue Feb 24 21:16:50 CST 2009


Previously there was no such error, and if more than MAX_TAB_STOPS were
added, then some of the tab stops would be silently discarded.
---
 programs/wordpad/Da.rc     |    1 +
 programs/wordpad/De.rc     |    1 +
 programs/wordpad/En.rc     |    3 ++-
 programs/wordpad/Fr.rc     |    1 +
 programs/wordpad/Hu.rc     |    1 +
 programs/wordpad/Ja.rc     |    1 +
 programs/wordpad/Ko.rc     |    1 +
 programs/wordpad/Nl.rc     |    1 +
 programs/wordpad/No.rc     |    1 +
 programs/wordpad/Pl.rc     |    1 +
 programs/wordpad/Pt.rc     |    1 +
 programs/wordpad/Ru.rc     |    1 +
 programs/wordpad/Si.rc     |    1 +
 programs/wordpad/Sv.rc     |    1 +
 programs/wordpad/Tr.rc     |    1 +
 programs/wordpad/Zh.rc     |    1 +
 programs/wordpad/wordpad.c |    7 +++++--
 programs/wordpad/wordpad.h |    1 +
 18 files changed, 23 insertions(+), 3 deletions(-)
-------------- next part --------------
diff --git a/programs/wordpad/Da.rc b/programs/wordpad/Da.rc
index efea05f..bd3358f 100644
--- a/programs/wordpad/Da.rc
+++ b/programs/wordpad/Da.rc
@@ -240,4 +240,5 @@ BEGIN
     STRING_OPEN_FAILED,               "Could not open the file."
     STRING_OPEN_ACCESS_DENIED,        "You do not have access to open the file."
     STRING_PRINTING_NOT_IMPLEMENTED,  "Printing not implemented"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
diff --git a/programs/wordpad/De.rc b/programs/wordpad/De.rc
index 9e748c2..e0193ac 100644
--- a/programs/wordpad/De.rc
+++ b/programs/wordpad/De.rc
@@ -242,6 +242,7 @@ BEGIN
     STRING_OPEN_FAILED,          "Die Datei konnte nicht ge??ffnet werden."
     STRING_OPEN_ACCESS_DENIED,   "Sie haben keine ausreichende Zugriffsberechtigung um die Datei zu ??ffnen."
     STRING_PRINTING_NOT_IMPLEMENTED, "Drucken ist nicht implementiert"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
 
 #pragma code_page(default)
diff --git a/programs/wordpad/En.rc b/programs/wordpad/En.rc
index eecfef4..d1cfa5a 100644
--- a/programs/wordpad/En.rc
+++ b/programs/wordpad/En.rc
@@ -239,5 +239,6 @@ BEGIN
     STRING_WRITE_ACCESS_DENIED,       "You do not have access to save the file."
     STRING_OPEN_FAILED,               "Could not open the file."
     STRING_OPEN_ACCESS_DENIED,        "You do not have access to open the file."
-    STRING_PRINTING_NOT_IMPLEMENTED, "Printing not implemented"
+    STRING_PRINTING_NOT_IMPLEMENTED,  "Printing not implemented"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
diff --git a/programs/wordpad/Fr.rc b/programs/wordpad/Fr.rc
index b26d696..21a3808 100644
--- a/programs/wordpad/Fr.rc
+++ b/programs/wordpad/Fr.rc
@@ -240,4 +240,5 @@ BEGIN
     STRING_OPEN_FAILED,               "Impossible d'ouvrir le fichier."
     STRING_OPEN_ACCESS_DENIED,        "Vous ne disposez pas des acc?s n?cessaires ? l'ouverture du fichier."
     STRING_PRINTING_NOT_IMPLEMENTED, "L'impression n'est pas impl?ment?e"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
diff --git a/programs/wordpad/Hu.rc b/programs/wordpad/Hu.rc
index c8e0300..b2a0fc7 100644
--- a/programs/wordpad/Hu.rc
+++ b/programs/wordpad/Hu.rc
@@ -240,4 +240,5 @@ BEGIN
     STRING_OPEN_FAILED,               "Could not open the file."
     STRING_OPEN_ACCESS_DENIED,        "You do not have access to open the file."
     STRING_PRINTING_NOT_IMPLEMENTED,  "Printing not implemented"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
diff --git a/programs/wordpad/Ja.rc b/programs/wordpad/Ja.rc
index 6f95c07..4967517 100644
--- a/programs/wordpad/Ja.rc
+++ b/programs/wordpad/Ja.rc
@@ -243,6 +243,7 @@ BEGIN
     STRING_OPEN_FAILED,               "?????????????????????????????????"
     STRING_OPEN_ACCESS_DENIED,        "????????????????????????????????????????????????"
     STRING_PRINTING_NOT_IMPLEMENTED,  "Printing not implemented"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
 
 #pragma code_page(default)
diff --git a/programs/wordpad/Ko.rc b/programs/wordpad/Ko.rc
index 6ea4e46..6ded572 100644
--- a/programs/wordpad/Ko.rc
+++ b/programs/wordpad/Ko.rc
@@ -242,4 +242,5 @@ BEGIN
     STRING_OPEN_FAILED,               "?????? ?? ?? ????????."
     STRING_OPEN_ACCESS_DENIED,        "?????? ?? ?????? ????????."
     STRING_PRINTING_NOT_IMPLEMENTED, "?????? ???????? ????????"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
diff --git a/programs/wordpad/Nl.rc b/programs/wordpad/Nl.rc
index a0a405e..cfe2185 100644
--- a/programs/wordpad/Nl.rc
+++ b/programs/wordpad/Nl.rc
@@ -241,4 +241,5 @@ BEGIN
     STRING_OPEN_FAILED,          "Bestand kon niet geopend worden."
     STRING_OPEN_ACCESS_DENIED,   "Onvoldoende rechten om het bestand te openen."
     STRING_PRINTING_NOT_IMPLEMENTED, "Printen is nog niet geimplementeerd"
+    STRING_MAX_TAB_STOPS,        "Cannot add more than 32 tab stops."
 END
diff --git a/programs/wordpad/No.rc b/programs/wordpad/No.rc
index 94edffc..14c07fe 100644
--- a/programs/wordpad/No.rc
+++ b/programs/wordpad/No.rc
@@ -240,4 +240,5 @@ BEGIN
     STRING_OPEN_FAILED,               "Klarte ikke ?pne filen."
     STRING_OPEN_ACCESS_DENIED,        "Du har ikke tilgang til ? ?pne filen."
     STRING_PRINTING_NOT_IMPLEMENTED,  "Printing not implemented"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
diff --git a/programs/wordpad/Pl.rc b/programs/wordpad/Pl.rc
index 4fdc63b..0fdadb9 100644
--- a/programs/wordpad/Pl.rc
+++ b/programs/wordpad/Pl.rc
@@ -241,4 +241,5 @@ BEGIN
     STRING_OPEN_FAILED,               "Could not open the file."
     STRING_OPEN_ACCESS_DENIED,        "You do not have access to open the file."
     STRING_PRINTING_NOT_IMPLEMENTED,  "Printing not implemented"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
diff --git a/programs/wordpad/Pt.rc b/programs/wordpad/Pt.rc
index a263f4c..1456571 100644
--- a/programs/wordpad/Pt.rc
+++ b/programs/wordpad/Pt.rc
@@ -242,4 +242,5 @@ BEGIN
     STRING_OPEN_FAILED,               "N?o foi poss?vel abrir o ficheiro."
     STRING_OPEN_ACCESS_DENIED,        "N?o tem permiss?es para abrir o ficheiro."
     STRING_PRINTING_NOT_IMPLEMENTED, "Impress?o n?o implementada"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
diff --git a/programs/wordpad/Ru.rc b/programs/wordpad/Ru.rc
index 24ab5cc..61f0e7f 100644
--- a/programs/wordpad/Ru.rc
+++ b/programs/wordpad/Ru.rc
@@ -240,4 +240,5 @@ BEGIN
     STRING_OPEN_FAILED,               "Could not open the file."
     STRING_OPEN_ACCESS_DENIED,        "You do not have access to open the file."
     STRING_PRINTING_NOT_IMPLEMENTED,  "?????? ?? ??????????????"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
diff --git a/programs/wordpad/Si.rc b/programs/wordpad/Si.rc
index de7726c..bb3f749 100644
--- a/programs/wordpad/Si.rc
+++ b/programs/wordpad/Si.rc
@@ -243,6 +243,7 @@ BEGIN
     STRING_OPEN_FAILED,               "Napaka pri odpiranju datoteke."
     STRING_OPEN_ACCESS_DENIED,        "Nimate pravic za odpiranje te datoteke."
     STRING_PRINTING_NOT_IMPLEMENTED, "Tiskanje (??e) ni na voljo"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
 
 #pragma code_page(default)
diff --git a/programs/wordpad/Sv.rc b/programs/wordpad/Sv.rc
index 565f9f7..e14a7e3 100644
--- a/programs/wordpad/Sv.rc
+++ b/programs/wordpad/Sv.rc
@@ -242,6 +242,7 @@ BEGIN
     STRING_OPEN_FAILED,               "Kunde inte ??ppna filen."
     STRING_OPEN_ACCESS_DENIED,        "Du har inte tillg??ng till att ??ppna filen."
     STRING_PRINTING_NOT_IMPLEMENTED, "Utskrift ej implementerat."
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
 
 #pragma code_page(default)
diff --git a/programs/wordpad/Tr.rc b/programs/wordpad/Tr.rc
index b7e936c..ce26f04 100644
--- a/programs/wordpad/Tr.rc
+++ b/programs/wordpad/Tr.rc
@@ -242,4 +242,5 @@ BEGIN
     STRING_OPEN_FAILED,               "Could not open the file."
     STRING_OPEN_ACCESS_DENIED,        "You do not have access to open the file."
     STRING_PRINTING_NOT_IMPLEMENTED,  "Printing not implemented"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
diff --git a/programs/wordpad/Zh.rc b/programs/wordpad/Zh.rc
index 7579edc..399776d 100644
--- a/programs/wordpad/Zh.rc
+++ b/programs/wordpad/Zh.rc
@@ -469,6 +469,7 @@ BEGIN
     STRING_OPEN_FAILED,               "??????????????????."
     STRING_OPEN_ACCESS_DENIED,        "??????????????????????????????."
     STRING_PRINTING_NOT_IMPLEMENTED,  "Printing not implemented"
+    STRING_MAX_TAB_STOPS,             "Cannot add more than 32 tab stops."
 END
 
 #pragma code_page(default)
diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c
index 0120d4e..f2ec4c5 100644
--- a/programs/wordpad/wordpad.c
+++ b/programs/wordpad/wordpad.c
@@ -1636,13 +1636,16 @@ static INT_PTR CALLBACK tabstops_proc(HWND hWnd, UINT message, WPARAM wParam, LP
                         if(SendMessageW(hTabWnd, CB_FINDSTRINGEXACT, -1, (LPARAM)&buffer) == CB_ERR)
                         {
                             float number = 0;
+                            int item_count = SendMessage(hTabWnd, CB_GETCOUNT, 0, 0);
 
                             if(!number_from_string(buffer, &number, TRUE))
                             {
                                 MessageBoxWithResStringW(hWnd, MAKEINTRESOURCEW(STRING_INVALID_NUMBER),
                                              wszAppTitle, MB_OK | MB_ICONINFORMATION);
-                            } else
-                            {
+                            } else if (item_count >= MAX_TAB_STOPS) {
+                                MessageBoxWithResStringW(hWnd, MAKEINTRESOURCEW(STRING_MAX_TAB_STOPS),
+                                             wszAppTitle, MB_OK | MB_ICONINFORMATION);
+                            } else {
                                 SendMessageW(hTabWnd, CB_ADDSTRING, 0, (LPARAM)&buffer);
                                 SetWindowTextW(hTabWnd, 0);
                             }
diff --git a/programs/wordpad/wordpad.h b/programs/wordpad/wordpad.h
index 8126fdd..ece183f 100644
--- a/programs/wordpad/wordpad.h
+++ b/programs/wordpad/wordpad.h
@@ -200,6 +200,7 @@
 #define STRING_OPEN_FAILED 1709
 #define STRING_OPEN_ACCESS_DENIED 1710
 #define STRING_PRINTING_NOT_IMPLEMENTED 1711
+#define STRING_MAX_TAB_STOPS 1712
 
 LPWSTR file_basename(LPWSTR);
 


More information about the wine-patches mailing list