From: InHong Han Date: Mon, 26 Dec 2016 09:29:57 +0000 (+0900) Subject: Merge branch 'tizen_3.0' into tizen X-Git-Tag: submit/tizen/20161228.222653^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3e8fd6aa77a162e31051c0074ef718de6128543e;p=platform%2Fcore%2Fuifw%2Fe-mod-tizen-wl-textinput.git Merge branch 'tizen_3.0' into tizen Change-Id: Id5a67fcffecbed83a3c4101e924a8ac0ec72b115 --- 3e8fd6aa77a162e31051c0074ef718de6128543e diff --cc src/e_mod_input_panel.c index f7425e7,d4e45ef..1c47abd --- a/src/e_mod_input_panel.c +++ b/src/e_mod_input_panel.c @@@ -241,31 -277,31 +275,35 @@@ _e_input_panel_surface_visible_update(E if (!(ec = ips->ec)) return; if (e_object_is_del(E_OBJECT(ec))) return; - if ((ips->showing) && (e_pixmap_usable_get(ec->pixmap))) { + /* Now we can assure that previous SHOW request actually succeeded, + * no need for trying re-run panel show command */ + if (panel_show_need_rerun) + e_input_panel_show_need_rerun_set(EINA_FALSE); -#ifdef _TV - _e_input_panel_position_set(ec, ec->client.w, ec->client.h); - ec->visible = EINA_TRUE; - evas_object_geometry_set(ec->frame, ec->x, ec->y, ec->w, ec->h); - evas_object_show(ec->frame); - e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h); -#else - if (ec->visible) - return; + - WTI_LOG("IPS::DEFER_SHOW::ADD"); - ips->wait_update = EINA_TRUE; - if (!ips->eh.buf_change) + if (_TV) { - ips->eh.buf_change = - ecore_event_handler_add(E_EVENT_CLIENT_BUFFER_CHANGE, - _ips_cb_buffer_change, ips); + _e_input_panel_position_set(ec, ec->client.w, ec->client.h); + ec->visible = EINA_TRUE; + evas_object_geometry_set(ec->frame, ec->x, ec->y, ec->w, ec->h); + evas_object_show(ec->frame); + e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h); + } + else + { + if (ec->visible) + return; + + WTI_LOG("IPS::DEFER_SHOW::ADD"); + ips->wait_update = EINA_TRUE; + if (!ips->eh.buf_change) + { + ips->eh.buf_change = + ecore_event_handler_add(E_EVENT_CLIENT_BUFFER_CHANGE, + _ips_cb_buffer_change, ips); + } } -#endif } else { diff --cc src/e_mod_main.c index 5ea7bf3,6607d46..f2015e3 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@@ -1110,11 -1088,13 +1125,12 @@@ _e_text_input_cb_activate(struct wl_cli context->input_method = input_method; input_method->context = context; - wl_input_method_send_activate(input_method->resource, context->resource, text_input->id); + if (context->resource) + wl_input_method_send_activate(input_method->resource, context->resource, text_input->id); } -#ifdef _TV - set_soft_keyboard_mode(); -#endif + if (_TV) + set_soft_keyboard_mode(); if (text_input->resource) wl_text_input_send_enter(text_input->resource, surface); diff --cc src/e_mod_main.h index 3fe262c,9fa2d05..0fbc80d --- a/src/e_mod_main.h +++ b/src/e_mod_main.h @@@ -7,17 -7,9 +7,19 @@@ Eina_Bool e_input_panel_init(void) void e_input_panel_shutdown(void); void e_input_panel_visibility_change(Eina_Bool visible); Eina_Bool e_input_panel_client_find(E_Client *ec); + Eina_Bool e_input_panel_client_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h); EINTERN void e_input_panel_wait_update_set(Eina_Bool wait_update); EINTERN void e_input_panel_transient_for_set(E_Client *parent); + void e_input_panel_show_need_rerun_set(Eina_Bool need_rerun); +typedef enum { + TIZEN_PROFILE_UNKNOWN = 0, + TIZEN_PROFILE_MOBILE = 0x1, + TIZEN_PROFILE_WEARABLE = 0x2, + TIZEN_PROFILE_TV = 0x4, + TIZEN_PROFILE_IVI = 0x8, + TIZEN_PROFILE_COMMON = 0x10, +} tizen_profile_t; +extern tizen_profile_t _get_tizen_profile(); +#define _TV (_get_tizen_profile() == TIZEN_PROFILE_TV) #endif