Fixed a bug that gave EXEDIR, CMDLINE and others wrong values

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@713 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2002-08-21 19:45:45 +00:00
parent 91278b7e05
commit f900ae6d24
2 changed files with 8 additions and 6 deletions

View file

@ -324,14 +324,14 @@ int NSISCALL ui_doinstall(void)
#endif//NSIS_SUPPORT_BGBG
#ifdef NSIS_SUPPORT_CODECALLBACKS
g_hwnd=h;
wsprintf(g_usrvars[20], "%u", GetUserDefaultLangID());
wsprintf(state_language, "%u", GetUserDefaultLangID());
if (ExecuteCodeSegment(g_inst_entry,g_inst_cmnheader->code_onInit,NULL)) return 1;
g_hwnd=NULL;
{
// Added by Amir Szekely 3rd August 2002
// Multilingual support
int num=g_inst_header->common.str_tables_num;
LANGID user_lang=myatoi(g_usrvars[20]), lang_mask=~(LANGID)0;
LANGID user_lang=myatoi(state_language), lang_mask=~(LANGID)0;
int size=num*sizeof(common_strings);
cur_common_strings_table=common_strings_tables=(common_strings*)GlobalAlloc(GPTR,size);
GetCompressedDataFromDataBlockToMemory(g_inst_header->common.str_tables,(char*)common_strings_tables,size);
@ -361,6 +361,7 @@ lang_again:
goto lang_again;
}
}
wsprintf(state_language, "%u", cur_common_strings_table->lang_id);
process_string_from_lang(g_caption,LANGID_CAPTION);
if (h != GetDesktopWindow()) {
SendMessage(h, WM_SETTEXT, 0, (LPARAM)g_caption);

View file

@ -1,8 +1,9 @@
extern char g_usrvars[25][NSIS_MAX_STRLEN];
#define state_command_line (g_usrvars[20])
#define state_install_directory (g_usrvars[21])
#define state_output_directory (g_usrvars[22])
#define state_exe_directory (g_usrvars[23])
#define state_language (g_usrvars[20])
#define state_command_line (g_usrvars[21])
#define state_install_directory (g_usrvars[22])
#define state_output_directory (g_usrvars[23])
#define state_exe_directory (g_usrvars[24])
extern char g_caption[NSIS_MAX_STRLEN*2];
extern HWND g_hwnd;