From 66bc7b298407e297f70ddc45d64ea23568a47d5f Mon Sep 17 00:00:00 2001 From: "JunSeok, Kim" Date: Thu, 24 Aug 2017 14:29:44 +0900 Subject: [PATCH] e_mod_tizen_keyrouter: add implementation for version 2 of tizen_keyrouter The destructor added to tizen_keyrouter so add the implementation of server side. Change-Id: I5ed08099998fc13e1900647f8a95a255931e3fc6 --- src/e_mod_main_wl.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/e_mod_main_wl.c b/src/e_mod_main_wl.c index 990dfaf..f6da905 100644 --- a/src/e_mod_main_wl.c +++ b/src/e_mod_main_wl.c @@ -794,6 +794,11 @@ e_keyrouter_add_surface_destroy_listener(struct wl_resource *surface) return TIZEN_KEYROUTER_ERROR_NONE; } +static void +_e_keyrouter_cb_destroy(struct wl_client *client, struct wl_resource *resource) +{ + wl_resource_destroy(resource); +} static const struct tizen_keyrouter_interface _e_keyrouter_implementation = { _e_keyrouter_cb_keygrab_set, @@ -804,12 +809,13 @@ static const struct tizen_keyrouter_interface _e_keyrouter_implementation = { _e_keyrouter_cb_keygrab_get_list, _e_keyrouter_cb_set_register_none_key, _e_keyrouter_cb_get_keyregister_status, - _e_keyrouter_cb_set_input_config + _e_keyrouter_cb_set_input_config, + _e_keyrouter_cb_destroy, }; /* tizen_keyrouter global object destroy function */ static void -_e_keyrouter_cb_destory(struct wl_resource *resource) +_e_keyrouter_cb_unbind(struct wl_resource *resource) { krt->resources = eina_list_remove(krt->resources, resource); } @@ -821,7 +827,7 @@ _e_keyrouter_cb_bind(struct wl_client *client, void *data, uint32_t version, uin E_KeyrouterPtr krt_instance = data; struct wl_resource *resource; - resource = wl_resource_create(client, &tizen_keyrouter_interface, MIN(version, 1), id); + resource = wl_resource_create(client, &tizen_keyrouter_interface, MIN(version, 2), id); KLDBG("wl_resource_create(...,&tizen_keyrouter_interface,...)"); @@ -834,7 +840,7 @@ _e_keyrouter_cb_bind(struct wl_client *client, void *data, uint32_t version, uin krt->resources = eina_list_append(krt->resources, resource); - wl_resource_set_implementation(resource, &_e_keyrouter_implementation, krt_instance, _e_keyrouter_cb_destory); + wl_resource_set_implementation(resource, &_e_keyrouter_implementation, krt_instance, _e_keyrouter_cb_unbind); } static void @@ -1175,7 +1181,7 @@ _e_keyrouter_init(E_Module *m) ecore_idle_enterer_add(_e_keyrouter_cb_idler, NULL); _e_keyrouter_init_handlers(); - krt->global = wl_global_create(e_comp_wl->wl.disp, &tizen_keyrouter_interface, 1, krt, _e_keyrouter_cb_bind); + krt->global = wl_global_create(e_comp_wl->wl.disp, &tizen_keyrouter_interface, 2, krt, _e_keyrouter_cb_bind); if (!krt->global) { KLERR("Failed to create global !"); -- 2.34.1