compositor: Make all non-backend modules use module_init() as entry point
diff --git a/src/compositor.c b/src/compositor.c
index 911eaba..170e6ba 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -3091,8 +3091,7 @@
module_init = NULL;
if (xserver)
- module_init = load_module("xwayland.so",
- "weston_xserver_init",
+ module_init = load_module("xwayland.so", "module_init",
&xserver_module);
if (module_init && module_init(ec) < 0) {
ret = EXIT_FAILURE;
@@ -3104,7 +3103,7 @@
if (!shell)
shell = "desktop-shell.so";
- module_init = load_module(shell, "shell_init", &shell_module);
+ module_init = load_module(shell, "module_init", &shell_module);
if (!module_init || module_init(ec) < 0) {
ret = EXIT_FAILURE;
goto out;
diff --git a/src/compositor.h b/src/compositor.h
index 2954703..a1e6f85 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -770,9 +770,6 @@
void
weston_watch_process(struct weston_process *process);
-int
-weston_xserver_init(struct weston_compositor *compositor);
-
struct weston_surface_animation;
typedef void (*weston_surface_animation_done_func_t)(struct weston_surface_animation *animation, void *data);
@@ -794,10 +791,6 @@
void
weston_surface_destroy(struct weston_surface *surface);
-struct weston_compositor *
-backend_init(struct wl_display *display, int argc, char *argv[],
- const char *config_file);
-
int
weston_output_switch_mode(struct weston_output *output, struct weston_mode *mode);
@@ -806,4 +799,11 @@
void
gles2_renderer_destroy(struct weston_compositor *ec);
+struct weston_compositor *
+backend_init(struct wl_display *display, int argc, char *argv[],
+ const char *config_file);
+
+int
+module_init(struct weston_compositor *compositor);
+
#endif
diff --git a/src/shell.c b/src/shell.c
index 06d8684..dba54f7 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -3691,11 +3691,8 @@
}
}
-int
-shell_init(struct weston_compositor *ec);
-
WL_EXPORT int
-shell_init(struct weston_compositor *ec)
+module_init(struct weston_compositor *ec)
{
struct weston_seat *seat;
struct desktop_shell *shell;
diff --git a/src/tablet-shell.c b/src/tablet-shell.c
index f17d888..af5e66f 100644
--- a/src/tablet-shell.c
+++ b/src/tablet-shell.c
@@ -530,18 +530,15 @@
free(shell);
}
-void
-shell_init(struct weston_compositor *compositor);
-
-WL_EXPORT void
-shell_init(struct weston_compositor *compositor)
+WL_EXPORT int
+module_init(struct weston_compositor *compositor)
{
struct tablet_shell *shell;
struct wl_event_loop *loop;
shell = malloc(sizeof *shell);
if (shell == NULL)
- return;
+ return -1;
memset(shell, 0, sizeof *shell);
shell->compositor = compositor;
@@ -583,4 +580,6 @@
launch_ux_daemon(shell);
tablet_shell_set_state(shell, STATE_STARTING);
+
+ return 0;
}
diff --git a/src/xwayland/launcher.c b/src/xwayland/launcher.c
index aab74f0..00f064e 100644
--- a/src/xwayland/launcher.c
+++ b/src/xwayland/launcher.c
@@ -312,7 +312,7 @@
}
WL_EXPORT int
-weston_xserver_init(struct weston_compositor *compositor)
+module_init(struct weston_compositor *compositor)
{
struct wl_display *display = compositor->wl_display;
struct weston_xserver *mxs;