From: lsj119 Date: Wed, 24 Apr 2019 01:44:58 +0000 (+0900) Subject: headless-server::input : remove the global variable X-Git-Tag: submit/tizen/20190530.092249~52 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=12e52415cdeb06bd8f3488a03bd0bd1e588184fa;p=platform%2Fcore%2Fuifw%2Fpepper.git headless-server::input : remove the global variable Change-Id: Ia91c2bf96bcde96a705fe2ea167fcc04c663adbd --- diff --git a/src/bin/headless/headless_server.h b/src/bin/headless/headless_server.h index 2fcf4fe..f1b7928 100644 --- a/src/bin/headless/headless_server.h +++ b/src/bin/headless/headless_server.h @@ -37,9 +37,8 @@ PEPPER_API pepper_bool_t headless_shell_init(pepper_compositor_t *compositor); /* APIs for headless_input */ PEPPER_API pepper_bool_t headless_input_init(pepper_compositor_t *compositor); -PEPPER_API void *headless_input_get(void); -PEPPER_API void headless_input_set_focus_view(void *input, pepper_view_t *view); -PEPPER_API void headless_input_set_top_view(void *input, pepper_view_t *view); +PEPPER_API void headless_input_set_focus_view(pepper_compositor_t *compositor, pepper_view_t *view); +PEPPER_API void headless_input_set_top_view(pepper_compositor_t *compositor, pepper_view_t *view); #ifdef __cplusplus } diff --git a/src/bin/headless/input.c b/src/bin/headless/input.c index cc1e811..7569867 100644 --- a/src/bin/headless/input.c +++ b/src/bin/headless/input.c @@ -47,7 +47,6 @@ typedef struct uint32_t ndevices; } headless_input_t; -headless_input_t *input = NULL; const static int KEY_INPUT = 0xdeadbeaf; static void headless_input_init_event_listeners(headless_input_t *hi); @@ -136,10 +135,11 @@ end: } void -headless_input_set_focus_view(void *input, pepper_view_t *focus_view) +headless_input_set_focus_view(pepper_compositor_t *compositor, pepper_view_t *focus_view) { - headless_input_t *hi = (headless_input_t *)input; + headless_input_t *hi; + hi = (headless_input_t *)pepper_object_get_user_data((pepper_object_t *) compositor, &KEY_INPUT); PEPPER_CHECK(hi, return, "Invalid headless input.\n"); if (hi->focus_view != focus_view) @@ -156,10 +156,11 @@ headless_input_set_focus_view(void *input, pepper_view_t *focus_view) } void -headless_input_set_top_view(void *input, pepper_view_t *top_view) +headless_input_set_top_view(void *compositor, pepper_view_t *top_view) { - headless_input_t *hi = (headless_input_t *)input; + headless_input_t *hi; + hi = (headless_input_t *)pepper_object_get_user_data((pepper_object_t *) compositor, &KEY_INPUT); PEPPER_CHECK(hi, return, "Invalid headless input.\n"); hi->top_view = top_view; @@ -168,12 +169,6 @@ headless_input_set_top_view(void *input, pepper_view_t *top_view) pepper_keyrouter_set_top_view(hi->keyrouter, top_view); } -headless_input_t * -headless_input_get(void) -{ - return input; -} - static void headless_input_init_event_listeners(headless_input_t *hi) { @@ -333,8 +328,6 @@ headless_input_deinit(void *data) pepper_object_set_user_data((pepper_object_t *)hi->compositor, &KEY_INPUT, NULL, NULL); free(hi); - - input = hi = NULL; } pepper_bool_t @@ -352,8 +345,7 @@ headless_input_init(pepper_compositor_t *compositor) init = headless_input_init_input(hi); PEPPER_CHECK(init, goto error, "headless_input_init_input() failed\n"); - input = hi; - pepper_object_set_user_data((pepper_object_t *)compositor, &KEY_INPUT, NULL, headless_input_deinit); + pepper_object_set_user_data((pepper_object_t *)compositor, &KEY_INPUT, hi, headless_input_deinit); return PEPPER_TRUE; diff --git a/src/bin/headless/shell/shell.c b/src/bin/headless/shell/shell.c index f1bb41c..28bb403 100644 --- a/src/bin/headless/shell/shell.c +++ b/src/bin/headless/shell/shell.c @@ -656,9 +656,8 @@ tizen_policy_cb_activate(struct wl_client *client, struct wl_resource *resource, pepper_view_stack_top(hs_surface->view, PEPPER_TRUE); /* FIXME: set a view of the given surface as the focus/top view */ - void *input = headless_input_get(); - headless_input_set_focus_view(input, hs_surface->view); - headless_input_set_top_view(input, hs_surface->view); + headless_input_set_focus_view(pepper_surface_get_compositor(psurface), hs_surface->view); + headless_input_set_top_view(pepper_surface_get_compositor(psurface), hs_surface->view); } static void