From ecf1e8716c1f169134434d208cd62fe9b42fd324 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Wed, 11 Sep 2024 15:35:50 +0200 Subject: [PATCH] libnm/vpn-editor-plugin: add a comment on a design blunder VPN plugin factory can never fail, it always returns an object, much like g_object_new(). If the (GUI) editor is unavailable, it might be okay for some use cases, notably import()/export(). In such case, the absence of GUI editor is indicated via capability flags. --- src/libnm-core-impl/nm-vpn-editor-plugin.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libnm-core-impl/nm-vpn-editor-plugin.c b/src/libnm-core-impl/nm-vpn-editor-plugin.c index 6181368a5e..fc998b5771 100644 --- a/src/libnm-core-impl/nm-vpn-editor-plugin.c +++ b/src/libnm-core-impl/nm-vpn-editor-plugin.c @@ -299,6 +299,9 @@ _nm_vpn_editor_plugin_load(const char *plugin_name, return NULL; } + /* Note that factory() shouldn't be returning errors or failing. + * We can't change its prototype as it would consistute an ABI break, + * however it returning a failure would indicate a bug in the plugin. */ editor_plugin = factory(&factory_error); if (loaded_before) {