From 7bbbd09f42a212616b7c820580dd9ce6c9db88cd Mon Sep 17 00:00:00 2001 From: andrey Date: Fri, 5 Mar 2021 17:29:04 +0300 Subject: [PATCH] Revert "version 2.16.0, PIPluginLoader changes" This reverts commit f367ef00f7a03e2372090ae915c768a285b9b3a7. --- CMakeLists.txt | 2 +- libs/main/system/piplugin.cpp | 10 +++------- libs/main/system/piplugin.h | 19 +++++++------------ 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b16bb80..61286bcc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0) cmake_policy(SET CMP0017 NEW) # need include() with .cmake project(pip) set(pip_MAJOR 2) -set(pip_MINOR 16) +set(pip_MINOR 17) set(pip_REVISION 0) set(pip_SUFFIX ) set(pip_COMPANY SHS) diff --git a/libs/main/system/piplugin.cpp b/libs/main/system/piplugin.cpp index 22ac5c01..ed91f87d 100644 --- a/libs/main/system/piplugin.cpp +++ b/libs/main/system/piplugin.cpp @@ -234,7 +234,6 @@ PIPluginInfoStorage * PIPluginInfoStorage::instance() { PIPluginLoader::PIPluginLoader(const PIString & name) { func_loader_version = nullptr; - func_set_user_version = nullptr; func_static_merge = nullptr; error = Unknown; loaded = false; @@ -269,17 +268,14 @@ bool PIPluginLoader::load(const PIString & name) { if (messages) piCout << error_str; return false; } - int loader_version = func_loader_version(); - if (__PIP_PLUGIN_LOADER_VERSION__ != loader_version) { + if (__PIP_PLUGIN_LOADER_VERSION__ != func_loader_version()) { unload(); error = InvalidLoaderVersion; - error_str = "Load plugin \"" + lib.path() + "\" error: invalid loader version: application = " + PIString::fromNumber(__PIP_PLUGIN_LOADER_VERSION__) - + ", plugin = " + PIString::fromNumber(loader_version); + error_str = "Load plugin \"" + lib.path() + "\" error: invalid loader version: application = " + PIString::fromNumber(func_loader_version()) + + ", plugin = " + PIString::fromNumber(__PIP_PLUGIN_LOADER_VERSION__); if (messages) piCout << error_str; return false; } - func_set_user_version = (FunctionSetUserVersion)lib.resolve(STR(__PIP_PLUGIN_SET_USER_VERSION_FUNC__)); - if (func_set_user_version) func_set_user_version(); if (ai->userVersion().size_s() > 1) { PIString pversion = pi->userVersion(), lversion = ai->userVersion(); if (pversion != lversion) { diff --git a/libs/main/system/piplugin.h b/libs/main/system/piplugin.h index 957cd662..9e75c534 100644 --- a/libs/main/system/piplugin.h +++ b/libs/main/system/piplugin.h @@ -67,18 +67,15 @@ # define PIP_PLUGIN_EXPORT #endif -#define __PIP_PLUGIN_LOADER_VERSION_FUNC__ pip_loader_version -#define __PIP_PLUGIN_SET_USER_VERSION_FUNC__ pip_set_user_version -#define __PIP_PLUGIN_STATIC_MERGE_FUNC__ pip_merge_static -#define __PIP_PLUGIN_LOADER_VERSION__ 3 +#define __PIP_PLUGIN_LOADER_VERSION_FUNC__ pip_loader_version +#define __PIP_PLUGIN_STATIC_MERGE_FUNC__ pip_merge_static +#define __PIP_PLUGIN_LOADER_VERSION__ 2 #define PIP_PLUGIN_SET_USER_VERSION(v) \ - extern "C" { \ - PIP_PLUGIN_EXPORT void __PIP_PLUGIN_SET_USER_VERSION_FUNC__() { \ - PIPluginInfo * pi = PIPluginInfoStorage::instance()->currentInfo(); \ - if (pi) pi->setUserVersion(v); \ - } \ - } + STATIC_INITIALIZER_BEGIN \ + PIPluginInfo * pi = PIPluginInfoStorage::instance()->currentInfo(); \ + if (pi) pi->setUserVersion(v); \ + STATIC_INITIALIZER_END #define PIP_PLUGIN_ADD_STATIC_SECTION(type, ptr) \ STATIC_INITIALIZER_BEGIN \ @@ -145,7 +142,6 @@ private: class PIP_EXPORT PIPluginLoader { public: typedef int(*FunctionLoaderVersion)(); - typedef void(*FunctionSetUserVersion)(); typedef void(*FunctionStaticMerge)(int, void *, void *); //! Possible load plugin error @@ -206,7 +202,6 @@ private: PILibrary lib; FunctionLoaderVersion func_loader_version; - FunctionSetUserVersion func_set_user_version; FunctionStaticMerge func_static_merge; PIString error_str; Error error;