Use evas_render() to force renderization 34/134334/1
authorJi-hoon Lee <dalton.lee@samsung.com>
Fri, 16 Jun 2017 04:35:14 +0000 (13:35 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Fri, 16 Jun 2017 04:35:14 +0000 (13:35 +0900)
Change-Id: Id8b96ed1068f43fe76e7a81fee5c22a44ecaad82

src/sclcoreui-efl.cpp

index 855ec57..692a172 100644 (file)
@@ -1077,32 +1077,14 @@ static Eina_Bool _render_pre_timeout(void *data)
 void CSCLCoreUIEFL::process_keyboard_ui_state_change(KEYBOARD_UI_STATE state)
 {
 #ifdef WAYLAND
-    static Evas_Object *force_update_helper_obj = NULL;
-    static int force_update_num = 0;
-
     if (state == KEYBOARD_UI_STATE_WILL_SHOW) {
         evas_event_callback_add(evas_object_evas_get(NATIVE_WINDOW_CAST(m_main_window)),
             EVAS_CALLBACK_RENDER_PRE, _render_pre_cb, (void*)m_main_window);
         _render_pre_timer = ecore_timer_add(RENDER_PRE_TIMEOUT, _render_pre_timeout, (void*)m_main_window);
         LOGD("Registered RENDER_PRE callback, _render_pre_cb() and a timer callback");
     } else if (state == KEYBOARD_UI_STATE_DID_SHOW) {
-        LOGD("Forcing keyboard window to render : %d", force_update_num);
-
-        /* Since the ISE is waiting for RENDER_PRE event, we need to make sure the render event is
-         * occured on our ISE window. Since right now there is no proper way to trigger render event
-         * manually, we are creating a half transparent box above the keyboard window. Need to find
-         * more appropriate way to generate render event */
-        if (force_update_helper_obj) evas_object_del(force_update_helper_obj);
-        force_update_helper_obj = elm_bg_add(NATIVE_WINDOW_CAST(m_main_window));
-        evas_object_color_set(force_update_helper_obj, 255, 255, 255, 1);
-        evas_object_resize(force_update_helper_obj, 1, 1);
-        evas_object_move(force_update_helper_obj, force_update_num % 100, 0);
-        evas_object_layer_set(force_update_helper_obj, EVAS_LAYER_MAX);
-        evas_object_show(force_update_helper_obj);
-        force_update_num++;
-    } else if (state == KEYBOARD_UI_STATE_WILL_HIDE) {
-        if (force_update_helper_obj) evas_object_del(force_update_helper_obj);
-        force_update_helper_obj = NULL;
+        LOGD("Forcing keyboard window to render");
+        evas_render(evas_object_evas_get(NATIVE_WINDOW_CAST(m_main_window)));
     }
 #endif
 }