[prev in list] [next in list] [prev in thread] [next in thread] 

List:       nsis-commits
Subject:    [NSIS-commits] SF.net SVN: nsis:[6873] NSIS/trunk
From:       anders_k--- via NSIS-commits <nsis-commits () lists ! sourceforge ! net>
Date:       2017-06-15 18:58:28
Message-ID: 1497553108.891471.11514 () sfp-scm-6 ! v30 ! ch3 ! sourceforge ! com
[Download RAW message or body]

Revision: 6873
          http://sourceforge.net/p/nsis/code/6873
Author:   anders_k
Date:     2017-06-15 18:58:22 +0000 (Thu, 15 Jun 2017)
Log Message:
-----------
Display English and German in LangDLL if the codepage is 1250 (Bug #1185)

Modified Paths:
--------------
    NSIS/trunk/Contrib/LangDLL/LangDLL.c
    NSIS/trunk/Docs/src/var.but

Modified: NSIS/trunk/Contrib/LangDLL/LangDLL.c
===================================================================
--- NSIS/trunk/Contrib/LangDLL/LangDLL.c	2017-06-07 21:51:59 UTC (rev 6872)
+++ NSIS/trunk/Contrib/LangDLL/LangDLL.c	2017-06-15 18:58:22 UTC (rev 6873)
@@ -4,11 +4,11 @@
 
 // JF> updated usage
 // call like this:
-// LangDLL:LangDialog "Window Title" "Window subtext" <number of languages>[F] \
language_text language_id ... [font_size font_face] +// LangDLL:LangDialog "Window \
Title" "Window subtext" <number of languages|"A">[C][F] language_text language_id \
[codepage] ... [font_size font_face]  // ex:
-//  LangDLL:LangDialog "Language Selection" "Choose a language" 2 French 1036 \
English 1033 +//  LangDLL:LangDialog "Language Selection" "Choose a language" "2" \
French 1036 English 1033  // or (the F after the 2 means we're supplying font \
                information)
-//  LangDLL:LangDialog "Language Selection" "Choose a language" 2F French 1036 \
English 1033 12 Garamond +//  LangDLL:LangDialog "Language Selection" "Choose a \
language" "2F" French 1036 English 1033 12 Garamond  //
 // Unicode support added by Jim Park -- 07/27/2007
 
@@ -33,6 +33,26 @@
   UINT cp;
 } *langs;
 
+#ifndef UNICODE
+static UINT AllowLang(struct lang*pL)
+{
+  UINT acp = GetACP(), lcp = pL->cp, allow = lcp == acp;
+  /*
+  ** Workaround for bug #1185:
+  ** English and German can be displayed in cp1250
+  */
+  if (acp == 1250 && lcp == 1252)
+  {
+    const UINT lid = myatou(pL->id);
+    if (lid == 1033 // English
+     || lid == 1031 // German
+    )
+      ++allow;
+  }
+  return allow;
+}
+#endif
+
 INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
   INT_PTR i;
@@ -194,10 +214,10 @@
       }
 
       // If Unicode, show everything.
-#ifdef _UNICODE
+#ifdef UNICODE
       visible_langs_num++;
 #else
-      if (!docp || langs[visible_langs_num].cp == GetACP() || \
langs[visible_langs_num].cp == 0) +      if (!docp || \
AllowLang(&langs[visible_langs_num]) || langs[visible_langs_num].cp == 0)  {
         visible_langs_num++;
       }

Modified: NSIS/trunk/Docs/src/var.but
===================================================================
--- NSIS/trunk/Docs/src/var.but	2017-06-07 21:51:59 UTC (rev 6872)
+++ NSIS/trunk/Docs/src/var.but	2017-06-15 18:58:22 UTC (rev 6873)
@@ -179,7 +179,7 @@
 
 The local (non-roaming) application data directory.
 
-This constant is available on Windows 2000 and above.
+This constant is available on Windows ME, 2000 and above.
 
 \e{$PRINTHOOD}
 

This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
NSIS-commits mailing list
NSIS-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nsis-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic