summaryrefslogtreecommitdiff
path: root/src/modules/rkt/rkt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/rkt/rkt.c')
-rw-r--r--src/modules/rkt/rkt.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/modules/rkt/rkt.c b/src/modules/rkt/rkt.c
index 42f51e7..755074b 100644
--- a/src/modules/rkt/rkt.c
+++ b/src/modules/rkt/rkt.c
@@ -104,13 +104,17 @@ static til_module_context_t * rkt_create_context(const til_module_t *module, til
for (size_t i = 0; i < s->n_scenes; i++) {
til_setup_t *module_setup = NULL;
+ int r;
+ /* FIXME TODO: this needs to be handle-aware so scenes can directly reference existing contexts */
ctxt->scenes[i].module = til_lookup_module(s->scenes[i].module_name);
if (!ctxt->scenes[i].module) /* this isn't really expected since setup already does this */
return til_module_context_free(&ctxt->til_module_context);
- (void) til_module_create_context(ctxt->scenes[i].module, stream, rand_r(&seed), ticks, 0, s->scenes[i].setup, &ctxt->scenes[i].module_ctxt);
+ r = til_module_create_context(ctxt->scenes[i].module, stream, rand_r(&seed), ticks, 0, s->scenes[i].setup, &ctxt->scenes[i].module_ctxt);
til_setup_free(module_setup);
+ if (r < 0)
+ return til_module_context_free(&ctxt->til_module_context);
}
ctxt->rows_per_ms = s->rows_per_ms;
© All Rights Reserved