compositor: Propagate errors from module_init
load_modules currently ignores errors signalled by both
weston_load_module and module_init, and instead always returns 0. Its
return value appears to be checked in callers, so we most likely want to
propagate any errors.
Signed-off-by: Ondřej Majerech <majerech.o@gmail.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/src/compositor.c b/src/compositor.c
index 420e825..b84658a 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -4479,8 +4479,10 @@
end = strchrnul(p, ',');
snprintf(buffer, sizeof buffer, "%.*s", (int) (end - p), p);
module_init = weston_load_module(buffer, "module_init");
- if (module_init)
- module_init(ec, argc, argv);
+ if (!module_init)
+ return -1;
+ if (module_init(ec, argc, argv) < 0)
+ return -1;
p = end;
while (*p == ',')
p++;