Fix bugs about handling key events 00/227400/1
authorHwankyu Jhun <h.jhun@samsung.com>
Wed, 11 Mar 2020 23:58:36 +0000 (08:58 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Wed, 11 Mar 2020 23:58:36 +0000 (08:58 +0900)
- Checks key map data before calling callback function

Change-Id: I458e1d4deaecffdb4f70c5fea3f6fbaff3a65546
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/media_key.cc

index f2d11d5..5a5763d 100644 (file)
@@ -175,6 +175,9 @@ class MediaKey {
     if (handle->cb_ == nullptr)
       return ECORE_CALLBACK_RENEW;
 
+    if (handle->key_map_.find(ev->keyname) == handle->key_map_.end())
+      return ECORE_CALLBACK_RENEW;
+
     media_key_e media_key = handle->key_map_[ev->keyname];
     handle->cb_(media_key, MEDIA_KEY_STATUS_PRESSED, handle->data_);
     return ECORE_CALLBACK_RENEW;
@@ -191,6 +194,9 @@ class MediaKey {
     if (handle->cb_ == nullptr)
       return ECORE_CALLBACK_RENEW;
 
+    if (handle->key_map_.find(ev->keyname) == handle->key_map_.end())
+      return ECORE_CALLBACK_RENEW;
+
     media_key_e media_key = handle->key_map_[ev->keyname];
     handle->cb_(media_key, MEDIA_KEY_STATUS_RELEASED, handle->data_);
     return ECORE_CALLBACK_RENEW;