Added MUI_PAGE_CUSTOMFUNCTION_DESTROYED so custom image handles can be cleaned up

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6844 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
anders_k 2017-04-03 17:35:57 +00:00
parent fd8cdfd4a2
commit fbd57e00c1
9 changed files with 19 additions and 12 deletions

View file

@ -1,22 +1,23 @@
/*
NSIS Modern User Interface - Version 2.0
NSIS Modern User Interface - Version 2.1
Copyright 2002-2017 Joost Verburg
Contributors: Amir Szekely, Anders Kjersem
*/
!ifndef MUI_INCLUDED
!echo "NSIS Modern User Interface version 2.0 - Copyright 2002-2017 Joost Verburg"
!verbose push 3
!define MUI_INCLUDED
!define MUI_SYSVERSION "2.1"
!verbose pop
!echo "NSIS Modern User Interface version ${MUI_SYSVERSION} - Copyright 2002-2017 Joost Verburg"
;--------------------------------
!verbose push 3
!define /IfNDef MUI_VERBOSE 3
!verbose ${MUI_VERBOSE}
!define MUI_INCLUDED
!define MUI_SYSVERSION "2.0"
!addincludedir "${NSISDIR}\Contrib\Modern UI 2"
;--------------------------------
@ -113,4 +114,4 @@ Contributors: Amir Szekely, Anders Kjersem
!macroend
!verbose pop
!endif
!endif ;~ MUI_INCLUDED

View file

@ -412,6 +412,7 @@ Finish page (implemented using nsDialogs)
Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageLoadFullWindow
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
nsDialogs::Show
!insertmacro MUI_PAGE_FUNCTION_CUSTOM DESTROYED
Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageUnloadFullWindow
!ifdef MUI_FINISHPAGE_CANCEL_ENABLED

View file

@ -141,8 +141,8 @@ Start Menu folder page
!endif
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
StartMenu::Show
!insertmacro MUI_PAGE_FUNCTION_CUSTOM DESTROYED
Pop $mui.StartMenuPage.Temp
${if} $mui.StartMenuPage.Temp == "success"

View file

@ -160,6 +160,7 @@ Welcome page (implemented using nsDialogs)
Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageLoadFullWindow
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
nsDialogs::Show
!insertmacro MUI_PAGE_FUNCTION_CUSTOM DESTROYED
Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageUnloadFullWindow
;Delete image from memory

View file

@ -191,7 +191,7 @@
</div>
</div>
<h1>
Modern UI 2.0</h1>
Modern UI 2.1</h1>
<div>
<p>
This new version makes it easier to customize pages, because the same method can
@ -1086,6 +1086,7 @@ FunctionEnd</pre>
<strong>MUI_PAGE_CUSTOMFUNCTION_PRE</strong> <span class="parameter">function</span><br />
<strong>MUI_PAGE_CUSTOMFUNCTION_SHOW</strong> <span class="parameter">function</span><br />
<strong>MUI_PAGE_CUSTOMFUNCTION_LEAVE</strong> <span class="parameter">function</span><br />
<strong>MUI_PAGE_CUSTOMFUNCTION_DESTROYED</strong> <span class="parameter">function</span><br />
</p>
<p>
The pre function is called first and allows you to initalize variables or decide
@ -1095,8 +1096,10 @@ FunctionEnd</pre>
<p>
In the show function, the window handles of all controls on the page can be retrieved
from a Modern UI variable. A list of the variables names is not yet available. For
now, refer to the source files of the Modern UI 2.0. The variable declarations can
now, refer to the source files of the Modern UI 2. The variable declarations can
be found in the first lines of the header file for a certain page.</p>
<p>
The destroyed function is called after a external/plug-in page has been destroyed.
</div>
</div>
<h1>

View file

@ -1451,8 +1451,8 @@ Var MUI_TEMP2
!endif
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
StartMenu::Show
!insertmacro MUI_PAGE_FUNCTION_CUSTOM DESTROYED
Pop $MUI_TEMP1
StrCmp $MUI_TEMP1 "success" 0 +2

View file

@ -450,6 +450,7 @@ Modern UI 2 page
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
nsDialogs::Show
!insertmacro MUI_PAGE_FUNCTION_CUSTOM DESTROYED
FunctionEnd

View file

@ -16,7 +16,7 @@ Released on ? ?th, 2017
\b MultiUser now supports $ProgramFiles64 (\W{http://sf.net/p/nsis/bugs/843}{bug #843})
\b Added support for MUI_UNCONFIRMPAGE_VARIABLE (\W{http://sf.net/p/nsis/feature-requests/511}{RFE #511})
\b Added support for MUI_UNCONFIRMPAGE_VARIABLE (\W{http://sf.net/p/nsis/feature-requests/511}{RFE #511}) and MUI_PAGE_CUSTOMFUNCTION_DESTROYED
\b Unicode nsExec now supports the /OEM switch (\W{http://sf.net/p/nsis/bugs/1171}{bug #1171})

View file

@ -203,7 +203,7 @@ enum
#ifdef _UNICODE // opcodes available only in Unicode installers must be at the end of the enumeration
#ifdef NSIS_SUPPORT_FILEFUNCTIONS
EW_FPUTWS, // FileWriteUTF16LE: 3 [handle, string, ?int:string]
EW_FPUTWS, // FileWriteUTF16LE: 4 [handle, string, ?int:string, TryWriteBOM]
EW_FGETWS, // FileReadUTF16LE: 4 [handle, output, maxlen, ?getchar:gets]
#endif//NSIS_SUPPORT_FILEFUNCTIONS
#endif