Call constructor of activated renderer.

This commit is contained in:
Jari Vetoniemi 2014-10-22 22:52:14 +03:00
parent 014c20099d
commit 0b02230935
3 changed files with 10 additions and 2 deletions

View File

@ -37,7 +37,7 @@ struct render_api {
/**
* Create underlying renderer.
*/
void (*constructor)(void);
bool (*constructor)(void);
/**
* Release underlying renderer.

View File

@ -76,7 +76,14 @@ bm_renderer_activate(struct bm_renderer *renderer)
if (!load(renderer->file, renderer))
return false;
if (!renderer->api.constructor())
goto fail;
return true;
fail:
chckDlUnload(renderer->handle);
return false;
}
bool

View File

@ -350,7 +350,7 @@ destructor(void)
memset(&curses, 0, sizeof(curses));
}
static void
static bool
constructor(void)
{
memset(&curses, 0, sizeof(curses));
@ -363,6 +363,7 @@ constructor(void)
action.sa_handler = resize_handler;
sigaction(SIGWINCH, &action, &curses.winch_action);
return true;
}
extern const char*