snprintf(buffer, sizeof buffer, "%.*s", (int) (end - p), p);
if (strstr(buffer, "xwayland.so")) {
- weston_log("Xwayland plug-in not supported!\n");
- p = end;
- while (*p == ',')
- p++;
- continue;
- }
-
- if (strstr(buffer, "systemd-notify.so")) {
+ *xwayland = true;
+ } else if (strstr(buffer, "systemd-notify.so")) {
weston_log("systemd-notify plug-in already loaded!\n");
- p = end;
- while (*p == ',')
- p++;
- continue;
- }
+ } else {
+ module_init = weston_load_module(buffer, "wet_module_init");
+ if (!module_init)
+ return -1;
- module_init = weston_load_module(buffer, "wet_module_init");
- if (!module_init)
- return -1;
+ if (module_init(ivi->compositor, *argc, argv) < 0)
+ return -1;
- if (module_init(ivi->compositor, *argc, argv) < 0)
- return -1;
+ }
p = end;
while (*p == ',')
return str;
}
+#if !defined(BUILD_XWAYLAND)
+int
+wet_load_xwayland(struct weston_compositor *comp)
+{
+ weston_log("Attempted to load xwayland library but compositor "
+ "was *not* built with xwayland support!\n");
+ return -1;
+}
+#endif
+
static void
weston_log_setup_scopes(struct weston_log_context *log_ctx,
struct weston_log_subscriber *subscriber,
weston_log_subscribe(log_ctx, logger, "log");
}
-
WL_EXPORT
int wet_main(int argc, char *argv[], const struct weston_testsuite_data *test_data)
{
if (load_modules(&ivi, option_modules, &argc, argv, &xwayland) < 0)
goto error_compositor;
- if (ivi_policy_init(&ivi) < 0)
- goto error_compositor;
+ if (!xwayland) {
+ weston_config_section_get_bool(section, "xwayland", &xwayland,
+ false);
+ }
if (ivi_shell_init(&ivi) < 0)
goto error_compositor;
+ if (xwayland) {
+ if (wet_load_xwayland(ivi.compositor) < 0)
+ goto error_compositor;
+ }
+
+ if (ivi_policy_init(&ivi) < 0)
+ goto error_compositor;
+
+
if (list_debug_scopes) {
struct weston_log_scope *nscope = NULL;
weston_log("Printing available debug scopes:\n");
- while ((nscope = weston_log_scopes_iterate(ivi.compositor, nscope))) {
+ while ((nscope = weston_log_scopes_iterate(log_ctx, nscope))) {
weston_log("\tscope name: %s, desc: %s",
weston_log_scope_get_name(nscope),
weston_log_scope_get_description(nscope));