diff --git a/src/compositor.c b/src/compositor.c index 911eabaa9..170e6ba08 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -3091,8 +3091,7 @@ int main(int argc, char *argv[]) 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 @@ int main(int argc, char *argv[]) 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 2954703a4..a1e6f857e 100644 --- a/src/compositor.h +++ b/src/compositor.h @@ -770,9 +770,6 @@ weston_client_launch(struct weston_compositor *compositor, 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 @@ weston_surface_set_color(struct weston_surface *surface, 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 @@ gles2_renderer_init(struct weston_compositor *ec); 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 06d8684c3..dba54f716 100644 --- a/src/shell.c +++ b/src/shell.c @@ -3691,11 +3691,8 @@ shell_add_bindings(struct weston_compositor *ec, struct desktop_shell *shell) } } -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 f17d88845..af5e66fef 100644 --- a/src/tablet-shell.c +++ b/src/tablet-shell.c @@ -530,18 +530,15 @@ tablet_shell_destroy(struct wl_listener *listener, void *data) 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 @@ shell_init(struct weston_compositor *compositor) 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 aab74f058..00f064eb0 100644 --- a/src/xwayland/launcher.c +++ b/src/xwayland/launcher.c @@ -312,7 +312,7 @@ weston_xserver_destroy(struct wl_listener *l, void *data) } 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;