diff --git a/honoka/src/honoka_imengine.cpp b/honoka/src/honoka_imengine.cpp index f10e48f..44970f0 100644 --- a/honoka/src/honoka_imengine.cpp +++ b/honoka/src/honoka_imengine.cpp @@ -203,7 +203,10 @@ void* plugin = dlopen(d.c_str(), RTLD_LAZY); if (!plugin) continue; createInstanceFunc *getInstance = (createInstanceFunc *)dlsym(plugin,"getHonokaPluginInstance"); - if (!getInstance) continue; + if (!getInstance) { + dlclose(plugin); + continue; + } convertors.push_back(static_cast(getInstance(_scim_config))); } }