Code Review
/
src
/
agl-compositor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
shell: Reset active view to allow further activation
[src/agl-compositor.git]
/
src
/
compositor.c
diff --git
a/src/compositor.c
b/src/compositor.c
index
9b0ac5f
..
827ef7a
100644
(file)
--- a/
src/compositor.c
+++ b/
src/compositor.c
@@
-415,7
+415,7
@@
parse_transform(const char *transform, uint32_t *out)
return -1;
}
return -1;
}
-
static
int
+int
parse_activation_area(const char *geometry, struct ivi_output *output)
{
int n;
parse_activation_area(const char *geometry, struct ivi_output *output)
{
int n;
@@
-1234,27
+1234,18
@@
load_modules(struct ivi_compositor *ivi, const char *modules,
snprintf(buffer, sizeof buffer, "%.*s", (int) (end - p), p);
if (strstr(buffer, "xwayland.so")) {
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");
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 == ',')
p = end;
while (*p == ',')
@@
-1649,6
+1640,16
@@
copy_command_line(int argc, char * const argv[])
return str;
}
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,
static void
weston_log_setup_scopes(struct weston_log_context *log_ctx,
struct weston_log_subscriber *subscriber,
@@
-1677,7
+1678,6
@@
weston_log_subscribe_to_scopes(struct weston_log_context *log_ctx,
weston_log_subscribe(log_ctx, logger, "log");
}
weston_log_subscribe(log_ctx, logger, "log");
}
-
WL_EXPORT
int wet_main(int argc, char *argv[], const struct weston_testsuite_data *test_data)
{
WL_EXPORT
int wet_main(int argc, char *argv[], const struct weston_testsuite_data *test_data)
{
@@
-1730,6
+1730,7
@@
int wet_main(int argc, char *argv[], const struct weston_testsuite_data *test_da
wl_list_init(&ivi.remote_pending_apps);
wl_list_init(&ivi.desktop_clients);
wl_list_init(&ivi.child_process_list);
wl_list_init(&ivi.remote_pending_apps);
wl_list_init(&ivi.desktop_clients);
wl_list_init(&ivi.child_process_list);
+ wl_list_init(&ivi.pending_apps);
/* Prevent any clients we spawn getting our stdin */
os_fd_set_cloexec(STDIN_FILENO);
/* Prevent any clients we spawn getting our stdin */
os_fd_set_cloexec(STDIN_FILENO);
@@
-1840,18
+1841,29
@@
int wet_main(int argc, char *argv[], const struct weston_testsuite_data *test_da
if (load_modules(&ivi, option_modules, &argc, argv, &xwayland) < 0)
goto error_compositor;
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 (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");
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));
weston_log("\tscope name: %s, desc: %s",
weston_log_scope_get_name(nscope),
weston_log_scope_get_description(nscope));