Pass config_file through to weston_compositor_init
This allows us to do config parsing there.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
diff --git a/src/compositor.c b/src/compositor.c
index f9c9b2c..ef3802d 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2841,7 +2841,8 @@
weston_compositor_init(struct weston_compositor *ec,
struct wl_display *display,
int argc,
- char *argv[])
+ char *argv[],
+ const char *config_file)
{
struct wl_event_loop *loop;
const char *extensions;
@@ -3041,7 +3042,7 @@
int (*module_init)(struct weston_compositor *ec);
struct weston_compositor
*(*backend_init)(struct wl_display *display,
- int argc, char *argv[]);
+ int argc, char *argv[], const char *config_file);
int i;
char *backend = NULL;
char *shell = NULL;
@@ -3116,13 +3117,12 @@
config_file = config_file_path("weston.ini");
parse_config_file(config_file, cs, ARRAY_LENGTH(cs), shell);
- free(config_file);
backend_init = load_module(backend, "backend_init", &backend_module);
if (!backend_init)
exit(EXIT_FAILURE);
- ec = backend_init(display, argc, argv);
+ ec = backend_init(display, argc, argv, config_file);
if (ec == NULL) {
fprintf(stderr, "failed to create compositor\n");
exit(EXIT_FAILURE);
@@ -3133,7 +3133,7 @@
if (argv[1])
exit(EXIT_FAILURE);
- weston_compositor_xkb_init(ec, &xkb_names);
+ free(config_file);
ec->option_idle_time = idle_time;
ec->idle_time = idle_time;