diff options
author | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2015-03-26 15:47:29 +0200 |
---|---|---|
committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2015-04-02 15:04:46 +0300 |
commit | 97246c067de2e3c1dea9fb359d5d463732366c49 (patch) | |
tree | fa225eec76742123ef92d54878b5058f7bb307a8 /ivi-shell/ivi-layout.c | |
parent | 8a005252d1b9351395a31ff463007ba9a3295774 (diff) | |
download | weston-97246c067de2e3c1dea9fb359d5d463732366c49.tar.gz |
ivi-layout: abort without controller_module_init
When loading a controller module, if we do not find a
controller_module_init symbol, return failure to the caller instead of
ignoring the failure.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Tested-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Diffstat (limited to 'ivi-shell/ivi-layout.c')
-rw-r--r-- | ivi-shell/ivi-layout.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c index 6b2604e1..cd4a171f 100644 --- a/ivi-shell/ivi-layout.c +++ b/ivi-shell/ivi-layout.c @@ -2953,12 +2953,14 @@ load_controller_modules(struct weston_compositor *compositor, const char *module snprintf(buffer, sizeof buffer, "%.*s", (int)(end - p), p); controller_module_init = weston_load_module(buffer, "controller_module_init"); - if (controller_module_init) - if(controller_module_init(compositor, argc, argv, - &ivi_controller_interface, - sizeof(struct ivi_controller_interface)) != 0) { - weston_log("ivi-shell: Initialization of controller module fails"); - return -1; + if (!controller_module_init) + return -1; + + if (controller_module_init(compositor, argc, argv, + &ivi_controller_interface, + sizeof(struct ivi_controller_interface)) != 0) { + weston_log("ivi-shell: Initialization of controller module fails"); + return -1; } p = end; |