--- a/gplugin/gplugin-native-loader.c Tue Sep 27 00:10:22 2022 -0500
+++ b/gplugin/gplugin-native-loader.c Tue Sep 27 00:11:07 2022 -0500
@@ -177,15 +177,27 @@
+ /* If the query returned an error, clear any info it may have set and return + if(error != NULL && *error != NULL) { + /* If we didn't get an info back, create a generic error. */ if(!GPLUGIN_IS_PLUGIN_INFO(info)) {
- if(error && *error == NULL) {
- _("the query function did not return a "
- "GPluginPluginInfo instance"));
+ /* Error was already checked earlier if it was non-null. */ + _("the query function did not return a " + "GPluginPluginInfo instance")); --- a/gplugin/tests/bad-plugins/query-error.c Tue Sep 27 00:10:22 2022 -0500
+++ b/gplugin/tests/bad-plugins/query-error.c Tue Sep 27 00:11:07 2022 -0500
@@ -19,7 +19,7 @@
#include <gplugin-native.h>
static GPluginPluginInfo *
-query_error_query(G_GNUC_UNUSED GError **error)
+query_error_query(GError **error) g_set_error(error, GPLUGIN_DOMAIN, 0, "expected error");