diff --git a/honoka/src/honoka_def.h b/honoka/src/honoka_def.h index 161eee0..d77f8a2 100644 --- a/honoka/src/honoka_def.h +++ b/honoka/src/honoka_def.h @@ -101,6 +101,8 @@ #define HONOKA_DEFAULT_SERVERTYPE "Wnn4" #endif +#define HONOKA_CONFIG_PLUGINLOADER_PREFIX "/IMEngine/Honoka/PluginLoader" + #define HONOKA_CONFIG_MINISTATUS "/IMEngine/Honoka/MiniStatus" #define HONOKA_DEFAULT_MINISTATUS false diff --git a/honoka/src/honoka_imengine.cpp b/honoka/src/honoka_imengine.cpp index a253258..5db23fd 100644 --- a/honoka/src/honoka_imengine.cpp +++ b/honoka/src/honoka_imengine.cpp @@ -198,6 +198,8 @@ while((entry = readdir(dir)) != NULL) { String d = entry->d_name; if ((d.substr(0,6) == "plugin") && (d.substr(d.length() - 3,3) == ".so")) { + if (!_scim_config->read(String(HONOKA_CONFIG_PLUGINLOADER_PREFIX) + "/" + d.substr(0,d.length() - 3),true)) + continue; d = String(HONOKA_PLUGINDIR) + "/" + d; void* plugin = dlopen(d.c_str(), RTLD_LAZY); if (!plugin) continue;