applied patch #1912699 - "Pinned" / always loaded plugins support

this patch also adds plugin_api_version to exec_flags so your plug-in can now tell if features it needs are available
more plug-ins that need this will be converted once the patch to make both the stubs and the plug-ins use the same header file is in place

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5809 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2008-11-29 22:03:33 +00:00
parent 9ac4ab0891
commit 4c30821aa5
10 changed files with 173 additions and 7 deletions

View file

@ -28,6 +28,7 @@
#include "util.h"
#include "ui.h"
#include "exec.h"
#include "plugin.h"
#include "lang.h"
#include "components.h"
@ -268,6 +269,11 @@ FORCE_INLINE int NSISCALL ui_doinstall(void)
// initialize auto close flag
g_exec_flags.autoclose=g_flags&CH_FLAGS_AUTO_CLOSE;
#ifdef NSIS_CONFIG_PLUGIN_SUPPORT
// initialize plugin api
g_exec_flags.plugin_api_version=NSISPIAPIVER_CURR;
#endif
// read install directory from registry
if (!is_valid_instpath(state_install_directory))
{
@ -396,6 +402,9 @@ FORCE_INLINE int NSISCALL ui_doinstall(void)
int ret=DialogBox(g_hInstance,MAKEINTRESOURCE(IDD_INST+dlg_offset),0,DialogProc);
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT)
ExecuteCallbackFunction(CB_ONGUIEND);
#endif
#ifdef NSIS_CONFIG_PLUGIN_SUPPORT
Plugins_SendMsgToAllPlugins(NSPIM_GUIUNLOAD);
#endif
return ret;
}