diff --git a/Source/exehead/Ui.c b/Source/exehead/Ui.c index 5010e5b9..204f79c9 100644 --- a/Source/exehead/Ui.c +++ b/Source/exehead/Ui.c @@ -396,7 +396,6 @@ nextPage: m_page+=m_delta; this_page+=m_delta; - g_this_page=this_page; #ifdef NSIS_SUPPORT_CODECALLBACKS if (m_page==g_blocks[NB_PAGES].num) ExecuteCodeSegment(g_header->code_onInstSuccess,NULL); @@ -452,6 +451,9 @@ nextPage: return 0; } + // update g_this_page for the dialog proc + g_this_page=this_page; + if (this_page->dlg_id > 0) // NSIS page { m_curwnd=CreateDialogParam( diff --git a/Source/exehead/fileform.c b/Source/exehead/fileform.c index e93faa8b..ac9d2b66 100644 --- a/Source/exehead/fileform.c +++ b/Source/exehead/fileform.c @@ -54,12 +54,12 @@ BOOL CALLBACK verProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) } if (uMsg == WM_TIMER #ifdef NSIS_COMPRESS_WHOLE - || uMsg == WM_DESTROY + || (!msg && uMsg == WM_DESTROY) #endif ) { static char bt[64]; - int percent=MulDiv(m_pos,100,m_length); + int percent=MulDiv(min(m_pos,m_length),100,m_length); #ifdef NSIS_COMPRESS_WHOLE if (msg) #endif @@ -214,7 +214,10 @@ const char * NSISCALL loadHeaders(int cl_flags) } #ifdef NSIS_CONFIG_VISIBLE_SUPPORT #ifdef NSIS_CONFIG_CRC_SUPPORT - if (hwnd) DestroyWindow(hwnd); + if (hwnd) + { + DestroyWindow(hwnd); + } #endif//NSIS_CONFIG_CRC_SUPPORT #endif//NSIS_CONFIG_VISIBLE_SUPPORT if (!g_filehdrsize) diff --git a/Source/lang.cpp b/Source/lang.cpp index ed7f54ae..a3587d02 100644 --- a/Source/lang.cpp +++ b/Source/lang.cpp @@ -350,8 +350,6 @@ int CEXEBuild::GenerateLangTables() { char *font = lt[i].nlf.m_szFont; if (*build_font) font = 0; - SCRIPT_MSG("setting %d to %s\n", lt[i].lang_id, font); - try { init_res_editor();