size optimization - lzma exehead is now 33.5kb
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3593 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
09d09d59d7
commit
3181bf4b4d
4 changed files with 40 additions and 12 deletions
|
@ -302,7 +302,7 @@ FORCE_INLINE int NSISCALL ui_doinstall(void)
|
||||||
|
|
||||||
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||||
// Select language
|
// Select language
|
||||||
if (ExecuteCodeSegment(header->code_onInit,NULL)) return 1;
|
if (ExecuteCallbackFunction(CB_ONINIT)) return 1;
|
||||||
set_language();
|
set_language();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -347,7 +347,7 @@ FORCE_INLINE int NSISCALL ui_doinstall(void)
|
||||||
{
|
{
|
||||||
int ret=DialogBox(g_hInstance,MAKEINTRESOURCE(IDD_INST+dlg_offset),0,DialogProc);
|
int ret=DialogBox(g_hInstance,MAKEINTRESOURCE(IDD_INST+dlg_offset),0,DialogProc);
|
||||||
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT)
|
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT)
|
||||||
ExecuteCodeSegment(header->code_onGUIEnd,NULL);
|
ExecuteCallbackFunction(CB_ONGUIEND);
|
||||||
#endif
|
#endif
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -361,12 +361,12 @@ FORCE_INLINE int NSISCALL ui_doinstall(void)
|
||||||
if (install_thread(NULL))
|
if (install_thread(NULL))
|
||||||
{
|
{
|
||||||
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||||
if (!g_quit_flag) ExecuteCodeSegment(header->code_onInstFailed,NULL);
|
if (!g_quit_flag) ExecuteCallbackFunction(CB_ONINSTFAILED);
|
||||||
#endif//NSIS_SUPPORT_CODECALLBACKS
|
#endif//NSIS_SUPPORT_CODECALLBACKS
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||||
ExecuteCodeSegment(header->code_onInstSuccess,NULL);
|
ExecuteCallbackFunction(CB_ONINSTSUCCESS);
|
||||||
#endif//NSIS_SUPPORT_CODECALLBACKS
|
#endif//NSIS_SUPPORT_CODECALLBACKS
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -391,7 +391,7 @@ static int CALLBACK WINAPI BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lPara
|
||||||
0,
|
0,
|
||||||
SHGetPathFromIDList((LPITEMIDLIST)lParam,(char*)lpData)
|
SHGetPathFromIDList((LPITEMIDLIST)lParam,(char*)lpData)
|
||||||
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||||
&& !ExecuteCodeSegment(g_header->code_onVerifyInstDir,NULL)
|
&& !ExecuteCallbackFunction(CB_ONVERIFYINSTDIR)
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -428,7 +428,7 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
SetDlgItemTextFromLang(hwndDlg,IDC_VERSTR,LANG_BRANDING);
|
SetDlgItemTextFromLang(hwndDlg,IDC_VERSTR,LANG_BRANDING);
|
||||||
SetClassLong(hwndDlg,GCL_HICON,(long)g_hIcon);
|
SetClassLong(hwndDlg,GCL_HICON,(long)g_hIcon);
|
||||||
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT)
|
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT)
|
||||||
g_quit_flag = ExecuteCodeSegment(g_header->code_onGUIInit,NULL);
|
g_quit_flag = ExecuteCallbackFunction(CB_ONGUIINIT);
|
||||||
#endif
|
#endif
|
||||||
//ShowWindow(hwndDlg, SW_SHOW);
|
//ShowWindow(hwndDlg, SW_SHOW);
|
||||||
m_delta = 1;
|
m_delta = 1;
|
||||||
|
@ -456,7 +456,7 @@ nextPage:
|
||||||
this_page+=m_delta;
|
this_page+=m_delta;
|
||||||
|
|
||||||
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||||
if (m_page==g_blocks[NB_PAGES].num) ExecuteCodeSegment(g_header->code_onInstSuccess,NULL);
|
if (m_page==g_blocks[NB_PAGES].num) ExecuteCallbackFunction(CB_ONINSTSUCCESS);
|
||||||
#endif//NSIS_SUPPORT_CODECALLBACKS
|
#endif//NSIS_SUPPORT_CODECALLBACKS
|
||||||
|
|
||||||
if (g_quit_flag || (unsigned int)m_page >= (unsigned int)g_blocks[NB_PAGES].num)
|
if (g_quit_flag || (unsigned int)m_page >= (unsigned int)g_blocks[NB_PAGES].num)
|
||||||
|
@ -609,7 +609,7 @@ skipPage:
|
||||||
if (g_exec_flags.abort)
|
if (g_exec_flags.abort)
|
||||||
{
|
{
|
||||||
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||||
ExecuteCodeSegment(g_header->code_onInstFailed,NULL);
|
ExecuteCallbackFunction(CB_ONINSTFAILED);
|
||||||
#endif//NSIS_SUPPORT_CODECALLBACKS
|
#endif//NSIS_SUPPORT_CODECALLBACKS
|
||||||
m_retcode=2;
|
m_retcode=2;
|
||||||
outernotify(NOTIFY_BYE_BYE);
|
outernotify(NOTIFY_BYE_BYE);
|
||||||
|
@ -617,7 +617,7 @@ skipPage:
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||||
if (!ExecuteCodeSegment(g_header->code_onUserAbort,NULL))
|
if (!ExecuteCallbackFunction(CB_ONUSERABORT))
|
||||||
#endif//NSIS_SUPPORT_CODECALLBACKS
|
#endif//NSIS_SUPPORT_CODECALLBACKS
|
||||||
{
|
{
|
||||||
m_retcode=1;
|
m_retcode=1;
|
||||||
|
@ -935,7 +935,7 @@ static BOOL CALLBACK DirProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
|
|
||||||
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||||
if (!error)
|
if (!error)
|
||||||
error = ExecuteCodeSegment(g_header->code_onVerifyInstDir,NULL);
|
error = ExecuteCallbackFunction(CB_ONVERIFYINSTDIR);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (thispage->flags & PF_DIR_NO_BTN_DISABLE)
|
if (thispage->flags & PF_DIR_NO_BTN_DISABLE)
|
||||||
|
@ -1101,7 +1101,7 @@ static DWORD WINAPI newTreeWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM l
|
||||||
|
|
||||||
myitoa(g_usrvars[0], lParam);
|
myitoa(g_usrvars[0], lParam);
|
||||||
|
|
||||||
ExecuteCodeSegment(g_header->code_onMouseOverSection,NULL);
|
ExecuteCallbackFunction(CB_ONMOUSEOVERSECTION);
|
||||||
|
|
||||||
mystrcpy(g_usrvars[0], g_tmp);
|
mystrcpy(g_usrvars[0], g_tmp);
|
||||||
}
|
}
|
||||||
|
@ -1400,7 +1400,7 @@ static BOOL CALLBACK SelProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
{
|
{
|
||||||
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_COMPONENTPAGE)
|
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_COMPONENTPAGE)
|
||||||
if ( wParam )
|
if ( wParam )
|
||||||
ExecuteCodeSegment(g_header->code_onSelChange,NULL);
|
ExecuteCallbackFunction(CB_ONSELCHANGE);
|
||||||
#endif//NSIS_SUPPORT_CODECALLBACKS && NSIS_CONFIG_COMPONENTPAGE
|
#endif//NSIS_SUPPORT_CODECALLBACKS && NSIS_CONFIG_COMPONENTPAGE
|
||||||
|
|
||||||
if (g_flags & CH_FLAGS_COMP_ONLY_ON_CUSTOM)
|
if (g_flags & CH_FLAGS_COMP_ONLY_ON_CUSTOM)
|
||||||
|
|
|
@ -64,6 +64,11 @@ int NSISCALL ExecuteCodeSegment(int pos, HWND hwndProgress)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int NSISCALL ExecuteCallbackFunction(int num)
|
||||||
|
{
|
||||||
|
return ExecuteCodeSegment(*(&g_header->code_onInit + num), NULL);
|
||||||
|
}
|
||||||
|
|
||||||
static char bufs[5][NSIS_MAX_STRLEN];
|
static char bufs[5][NSIS_MAX_STRLEN];
|
||||||
static int *parms;
|
static int *parms;
|
||||||
|
|
||||||
|
|
|
@ -4,5 +4,6 @@
|
||||||
extern exec_flags g_exec_flags;
|
extern exec_flags g_exec_flags;
|
||||||
|
|
||||||
int NSISCALL ExecuteCodeSegment(int pos, HWND hwndProgress); // returns 0 on success
|
int NSISCALL ExecuteCodeSegment(int pos, HWND hwndProgress); // returns 0 on success
|
||||||
|
int NSISCALL ExecuteCallbackFunction(int num); // returns 0 on success
|
||||||
|
|
||||||
#endif//_EXEC_H_
|
#endif//_EXEC_H_
|
||||||
|
|
|
@ -309,6 +309,28 @@ typedef struct
|
||||||
int install_directory_auto_append; // auto append part
|
int install_directory_auto_append; // auto append part
|
||||||
} header;
|
} header;
|
||||||
|
|
||||||
|
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||||
|
// callback indices
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
CB_ONINIT,
|
||||||
|
CB_ONINSTSUCCESS,
|
||||||
|
CB_ONINSTFAILED,
|
||||||
|
CB_ONUSERABORT,
|
||||||
|
#ifdef NSIS_CONFIG_ENHANCEDUI_SUPPORT
|
||||||
|
CB_ONGUIINIT,
|
||||||
|
CB_ONGUIEND,
|
||||||
|
#endif
|
||||||
|
CB_ONVERIFYINSTDIR,
|
||||||
|
#ifdef NSIS_CONFIG_ENHANCEDUI_SUPPORT
|
||||||
|
CB_ONMOUSEOVERSECTION,
|
||||||
|
#endif
|
||||||
|
#ifdef NSIS_CONFIG_COMPONENTPAGE
|
||||||
|
CB_ONSELCHANGE
|
||||||
|
#endif//NSIS_CONFIG_COMPONENTPAGE
|
||||||
|
};
|
||||||
|
#endif//NSIS_SUPPORT_CODECALLBACKS
|
||||||
|
|
||||||
// used for section->flags
|
// used for section->flags
|
||||||
#define SF_SELECTED 1
|
#define SF_SELECTED 1
|
||||||
#define SF_SUBSEC 2
|
#define SF_SUBSEC 2
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue