Add a focused surface to destroy listener 48/77248/1 accepted/tizen/common/20160630.151931 accepted/tizen/ivi/20160630.063452 accepted/tizen/mobile/20160630.063449 accepted/tizen/tv/20160630.063432 accepted/tizen/wearable/20160630.063440 submit/tizen/20160630.040542
authorJengHyun Kang <jhyuni.kang@samsung.com>
Wed, 29 Jun 2016 07:35:05 +0000 (16:35 +0900)
committerJengHyun Kang <jhyuni.kang@samsung.com>
Wed, 29 Jun 2016 07:35:08 +0000 (16:35 +0900)
  - if focused surface is destroied after get key press.
    key release is not needed to send this surface

Change-Id: I277c8c430c5425db3abcf25a74d0a13da06423e7

src/e_mod_keyrouter_events.c

index e1b619fd21e501ebdf43e3dd64da48c919154cca..8ed1d610c4a759f696dcfa8454715a1bde0b8059 100644 (file)
@@ -250,6 +250,14 @@ _e_keyrouter_send_key_events_press(int type, Ecore_Event_Key *ev)
 need_shared:
         //res = _e_keyrouter_send_key_event(type, surface_focus, NULL, ev, EINA_TRUE, TIZEN_KEYROUTER_MODE_SHARED);
         res = _e_keyrouter_send_key_events_focus(type, surface_focus, ev, &delivered_surface);
+        if (delivered_surface)
+          {
+             res = e_keyrouter_add_surface_destroy_listener(delivered_surface);
+             if (res != TIZEN_KEYROUTER_ERROR_NONE)
+               {
+                  KLWRN("Failed to add surface to destroy listener (res: %d)\n", res);
+               }
+          }
         EINA_LIST_FOREACH(krt->HardKeys[keycode].shared_ptr, l, key_node_data)
           {
              if (key_node_data)