From: Duna Oh Date: Tue, 2 Jun 2015 07:16:59 +0000 (+0900) Subject: Implementation 'focus_skip_unset' request for wl_surface X-Git-Tag: submit/tizen/20150603.021106^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a67a84e4052a599a8139f7fb5b368c8b608b8292;p=platform%2Fupstream%2Fefl.git Implementation 'focus_skip_unset' request for wl_surface Change-Id: I086500b978126b501ffb239ccb6b64944fd208ee Signed-off-by: Duna Oh --- diff --git a/src/lib/ecore_wayland/ecore_wl_window.c b/src/lib/ecore_wayland/ecore_wl_window.c index 6656376f57..36fd15f231 100644 --- a/src/lib/ecore_wayland/ecore_wl_window.c +++ b/src/lib/ecore_wayland/ecore_wl_window.c @@ -833,6 +833,11 @@ ecore_wl_window_focus_skip_set(Ecore_Wl_Window *win, Eina_Bool focus_skip) if ((win->surface) && (_ecore_wl_disp->wl.tz_policy)) tizen_policy_focus_skip_set(_ecore_wl_disp->wl.tz_policy, win->surface); } + else + { + if ((win->surface) && (_ecore_wl_disp->wl.tz_policy)) + tizen_policy_focus_skip_unset(_ecore_wl_disp->wl.tz_policy, win->surface); + } } /* @since 1.12 */ diff --git a/src/lib/ecore_wayland/tizen-policy-client-protocol.h b/src/lib/ecore_wayland/tizen-policy-client-protocol.h index 3308fecf15..8a4113b9f2 100644 --- a/src/lib/ecore_wayland/tizen-policy-client-protocol.h +++ b/src/lib/ecore_wayland/tizen-policy-client-protocol.h @@ -24,6 +24,7 @@ extern const struct wl_interface wl_surface_interface; #define TIZEN_POLICY_ACTIVATE 1 #define TIZEN_POLICY_POSITION_SET 2 #define TIZEN_POLICY_FOCUS_SKIP_SET 3 +#define TIZEN_POLICY_FOCUS_SKIP_UNSET 4 static inline void tizen_policy_set_user_data(struct tizen_policy *tizen_policy, void *user_data) @@ -75,6 +76,13 @@ tizen_policy_focus_skip_set(struct tizen_policy *tizen_policy, struct wl_surface TIZEN_POLICY_FOCUS_SKIP_SET, surface); } +static inline void +tizen_policy_focus_skip_unset(struct tizen_policy *tizen_policy, struct wl_surface *surface) +{ + wl_proxy_marshal((struct wl_proxy *) tizen_policy, + TIZEN_POLICY_FOCUS_SKIP_UNSET, surface); +} + #ifndef TIZEN_VISIBILITY_VISIBILITY_ENUM #define TIZEN_VISIBILITY_VISIBILITY_ENUM enum tizen_visibility_visibility { diff --git a/src/lib/ecore_wayland/tizen-policy-protocol.c b/src/lib/ecore_wayland/tizen-policy-protocol.c index 9b182105ab..b85438f509 100644 --- a/src/lib/ecore_wayland/tizen-policy-protocol.c +++ b/src/lib/ecore_wayland/tizen-policy-protocol.c @@ -14,6 +14,7 @@ static const struct wl_interface *types[] = { NULL, NULL, &wl_surface_interface, + &wl_surface_interface, }; static const struct wl_message tizen_policy_requests[] = { @@ -21,11 +22,12 @@ static const struct wl_message tizen_policy_requests[] = { { "activate", "o", types + 3 }, { "position_set", "oii", types + 4 }, { "focus_skip_set", "o", types + 7 }, + { "focus_skip_unset", "o", types + 8 }, }; WL_EXPORT const struct wl_interface tizen_policy_interface = { "tizen_policy", 1, - 4, tizen_policy_requests, + 5, tizen_policy_requests, 0, NULL, };