Pass argc and argv to modules
This lets modules parse options from the command line.
diff --git a/src/shell.c b/src/shell.c
index af802a5..a4511fd 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -345,9 +345,8 @@
}
static void
-shell_configuration(struct desktop_shell *shell)
+shell_configuration(struct desktop_shell *shell, const char *config_file)
{
- char *config_file;
char *path = NULL;
int duration = 60;
unsigned int num_workspaces = DEFAULT_NUM_WORKSPACES;
@@ -371,9 +370,7 @@
{ "screensaver", saver_keys, ARRAY_LENGTH(saver_keys), NULL },
};
- config_file = config_file_path("weston.ini");
parse_config_file(config_file, cs, ARRAY_LENGTH(cs), shell);
- free(config_file);
shell->screensaver.path = path;
shell->screensaver.duration = duration;
@@ -3957,7 +3954,8 @@
}
WL_EXPORT int
-module_init(struct weston_compositor *ec)
+module_init(struct weston_compositor *ec,
+ int *argc, char *argv[], const char *config_file)
{
struct weston_seat *seat;
struct desktop_shell *shell;
@@ -4002,7 +4000,7 @@
wl_array_init(&shell->workspaces.array);
wl_list_init(&shell->workspaces.client_list);
- shell_configuration(shell);
+ shell_configuration(shell, config_file);
for (i = 0; i < shell->workspaces.num; i++) {
pws = wl_array_add(&shell->workspaces.array, sizeof *pws);