--- a/gplugin/gplugin-native-loader.c Sun Jan 27 20:18:22 2019 -0500
+++ b/gplugin/gplugin-native-loader.c Sun Jan 27 20:43:14 2019 -0500
@@ -107,21 +107,27 @@
GPluginPluginInfo *info = NULL;
*module = gplugin_native_loader_open(filename, flags, error);
- if((*module == NULL) || (error && *error))
+ } else if (error && *error) { + g_module_close(*module); *query = gplugin_native_loader_lookup_symbol(*module, GPLUGIN_QUERY_SYMBOL,
if((*query == NULL) || (error && *error)) {
info = ((GPluginNativePluginQueryFunc)(*query))(error);
@@ -143,9 +149,6 @@
info = gplugin_native_loader_open_and_query(filename, &module, 0, &query,
if(!GPLUGIN_IS_PLUGIN_INFO(info)) {
- g_module_close(module);
if (error && *error == NULL) {
g_set_error_literal(error, GPLUGIN_DOMAIN, 0,
_("the query function did not return a "
@@ -163,8 +166,6 @@
if(!GPLUGIN_IS_PLUGIN_INFO(info)) {
- g_module_close(module);
if (error && *error == NULL) {
g_set_error_literal(error, GPLUGIN_DOMAIN, 0,
_("the query function did not return a "