more clean-up:
* removed ResetInputScript() * don't edit g_sdata.script for CreateProcess * use SetScript in LoadMRUFile * proper and clear allocation of g_sdata.compile_command in CompileNSISScript() git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5047 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
3a657559b0
commit
845566790d
3 changed files with 35 additions and 30 deletions
|
@ -268,24 +268,40 @@ void CompileNSISScript() {
|
|||
DragAcceptFiles(g_sdata.hwnd,TRUE);
|
||||
return;
|
||||
}
|
||||
if (!g_sdata.appended) {
|
||||
if (!g_sdata.compile_command) {
|
||||
if (s) GlobalFree(s);
|
||||
char *symbols = BuildSymbols();
|
||||
|
||||
char compressor[40];
|
||||
if(lstrlen(g_sdata.compressor_name)) {
|
||||
wsprintf(compressor,"/X\"SetCompressor /FINAL %s\" ",g_sdata.compressor_name);
|
||||
wsprintf(compressor,"/X\"SetCompressor /FINAL %s\"",g_sdata.compressor_name);
|
||||
}
|
||||
else {
|
||||
lstrcpy(compressor,"");
|
||||
}
|
||||
|
||||
s = (char *)GlobalAlloc(GPTR, lstrlen(g_sdata.script)+lstrlen(symbols)+lstrlen(compressor)+sizeof(EXENAME)+sizeof(" /NOTIFYHWND ")+23);
|
||||
wsprintf(s,"%s %s%s /NOTIFYHWND %d %s -- \"%s\"",EXENAME,compressor,symbols,g_sdata.hwnd,g_sdata.script_cmd_args,g_sdata.script);
|
||||
g_sdata.compile_command = (char *) GlobalAlloc(
|
||||
GPTR,
|
||||
/* makensis.exe */ sizeof(EXENAME) + /* space */ 1 +
|
||||
/* script path */ lstrlen(g_sdata.script) + /* space */ 1 +
|
||||
/* script cmd args */ lstrlen(g_sdata.script_cmd_args) + /* space */ 1 +
|
||||
/* defines /Dblah=... */ lstrlen(symbols) + /* space */ 1 +
|
||||
/* /XSetCompressor... */ lstrlen(compressor) + /* space */ 1 +
|
||||
/* /NOTTIFYHWND + HWND */ sizeof("/NOTIFYHWND -4294967295") + /* space */ 1
|
||||
);
|
||||
|
||||
wsprintf(
|
||||
g_sdata.compile_command,
|
||||
"%s %s %s /NOTIFYHWND %d %s -- \"%s\"",
|
||||
EXENAME,
|
||||
compressor,
|
||||
symbols,
|
||||
g_sdata.hwnd,
|
||||
g_sdata.script_cmd_args,
|
||||
g_sdata.script
|
||||
);
|
||||
|
||||
GlobalFree(symbols);
|
||||
if (g_sdata.script) GlobalFree(g_sdata.script);
|
||||
g_sdata.script = s;
|
||||
g_sdata.appended = TRUE;
|
||||
}
|
||||
GlobalFree(g_sdata.input_script);
|
||||
GlobalFree(g_sdata.output_exe);
|
||||
|
@ -507,10 +523,13 @@ void SaveSymbolSet(char *name, char **symbols)
|
|||
}
|
||||
|
||||
void ResetObjects() {
|
||||
g_sdata.appended = FALSE;
|
||||
if (g_sdata.compile_command)
|
||||
GlobalFree(g_sdata.compile_command);
|
||||
|
||||
g_sdata.warnings = FALSE;
|
||||
g_sdata.retcode = -1;
|
||||
g_sdata.thread = NULL;
|
||||
g_sdata.compile_command = NULL;
|
||||
}
|
||||
|
||||
void ResetSymbols() {
|
||||
|
@ -810,8 +829,7 @@ void BuildMRUMenus()
|
|||
void LoadMRUFile(int position)
|
||||
{
|
||||
if (!g_sdata.thread && position >=0 && position < MRU_LIST_SIZE && g_mru_list[position][0]) {
|
||||
g_sdata.script = (char *)GlobalAlloc(GPTR,lstrlen(g_mru_list[position])+3);
|
||||
wsprintf(g_sdata.script,"\"%s\"",g_mru_list[position]);
|
||||
SetScript(g_mru_list[position]);
|
||||
if(IsValidFile(g_mru_list[position])) {
|
||||
PushMRUFile(g_mru_list[position]);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue