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
layout: Add a way common way activate views
[src/agl-compositor.git]
/
src
/
layout.c
diff --git
a/src/layout.c
b/src/layout.c
index
829e1d5
..
dd4abb5
100644
(file)
--- a/
src/layout.c
+++ b/
src/layout.c
@@
-192,6
+192,8
@@
ivi_layout_activate_complete(struct ivi_output *output,
struct ivi_compositor *ivi = output->ivi;
struct weston_output *woutput = output->output;
struct weston_view *view = surf->view;
struct ivi_compositor *ivi = output->ivi;
struct weston_output *woutput = output->output;
struct weston_view *view = surf->view;
+ struct weston_seat *wseat = get_ivi_shell_weston_first_seat(ivi);
+ struct ivi_shell_seat *ivi_seat = get_ivi_shell_seat(wseat);
if (weston_view_is_mapped(view)) {
weston_layer_entry_remove(&view->layer_link);
if (weston_view_is_mapped(view)) {
weston_layer_entry_remove(&view->layer_link);
@@
-221,6
+223,9
@@
ivi_layout_activate_complete(struct ivi_output *output,
weston_view_geometry_dirty(view);
weston_surface_damage(view->surface);
weston_view_geometry_dirty(view);
weston_surface_damage(view->surface);
+ if (ivi_seat)
+ ivi_shell_activate_surface(surf, ivi_seat, WESTON_ACTIVATE_FLAG_NONE);
+
/*
* the 'remote' role now makes use of this part so make sure we don't
* trip the enum such that we might end up with a modified output for
/*
* the 'remote' role now makes use of this part so make sure we don't
* trip the enum such that we might end up with a modified output for
@@
-408,6
+413,9
@@
ivi_layout_fullscreen_committed(struct ivi_surface *surface)
struct weston_geometry geom =
weston_desktop_surface_get_geometry(dsurface);
struct weston_geometry geom =
weston_desktop_surface_get_geometry(dsurface);
+ struct weston_seat *wseat = get_ivi_shell_weston_first_seat(ivi);
+ struct ivi_shell_seat *ivi_seat = get_ivi_shell_seat(wseat);
+
bool is_fullscreen = weston_desktop_surface_get_fullscreen(dsurface);
bool is_dim_same =
geom.width == bg_output->output->width &&
bool is_fullscreen = weston_desktop_surface_get_fullscreen(dsurface);
bool is_dim_same =
geom.width == bg_output->output->width &&
@@
-470,6
+478,9
@@
ivi_layout_fullscreen_committed(struct ivi_surface *surface)
weston_view_geometry_dirty(view);
weston_surface_damage(view->surface);
weston_view_geometry_dirty(view);
weston_surface_damage(view->surface);
+ if (ivi_seat)
+ ivi_shell_activate_surface(surface, ivi_seat, WESTON_ACTIVATE_FLAG_NONE);
+
shell_advertise_app_state(ivi, app_id,
NULL, AGL_SHELL_DESKTOP_APP_STATE_ACTIVATED);
shell_advertise_app_state(ivi, app_id,
NULL, AGL_SHELL_DESKTOP_APP_STATE_ACTIVATED);
@@
-516,6
+527,9
@@
ivi_layout_split_committed(struct ivi_surface *surface)
struct ivi_output *output = surface->split.output;
struct weston_output *woutput = output->output;
struct ivi_output *output = surface->split.output;
struct weston_output *woutput = output->output;
+ struct weston_seat *wseat = get_ivi_shell_weston_first_seat(ivi);
+ struct ivi_shell_seat *ivi_seat = get_ivi_shell_seat(wseat);
+
struct weston_view *view = surface->view;
struct weston_geometry geom;
struct weston_view *view = surface->view;
struct weston_geometry geom;
@@
-586,6
+600,9
@@
ivi_layout_split_committed(struct ivi_surface *surface)
weston_view_geometry_dirty(view);
weston_surface_damage(view->surface);
weston_view_geometry_dirty(view);
weston_surface_damage(view->surface);
+ if (ivi_seat)
+ ivi_shell_activate_surface(surface, ivi_seat, WESTON_ACTIVATE_FLAG_NONE);
+
wsurface->is_mapped = true;
surface->view->is_mapped = true;
wsurface->is_mapped = true;
surface->view->is_mapped = true;
@@
-621,6
+638,9
@@
ivi_layout_popup_committed(struct ivi_surface *surface)
struct ivi_output *output = surface->popup.output;
struct weston_output *woutput = output->output;
struct ivi_output *output = surface->popup.output;
struct weston_output *woutput = output->output;
+ struct weston_seat *wseat = get_ivi_shell_weston_first_seat(ivi);
+ struct ivi_shell_seat *ivi_seat = get_ivi_shell_seat(wseat);
+
struct weston_view *view = surface->view;
if (policy && policy->api.surface_activate_by_default &&
struct weston_view *view = surface->view;
if (policy && policy->api.surface_activate_by_default &&
@@
-651,6
+671,9
@@
ivi_layout_popup_committed(struct ivi_surface *surface)
weston_view_geometry_dirty(view);
weston_surface_damage(view->surface);
weston_view_geometry_dirty(view);
weston_surface_damage(view->surface);
+ if (ivi_seat)
+ ivi_shell_activate_surface(surface, ivi_seat, WESTON_ACTIVATE_FLAG_NONE);
+
wsurface->is_mapped = true;
surface->view->is_mapped = true;
wsurface->is_mapped = true;
surface->view->is_mapped = true;