Fix memory leak issue found while running tests 66/264766/1
authorJi-hoon Lee <dalton.lee@samsung.com>
Wed, 29 Sep 2021 09:17:29 +0000 (18:17 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Wed, 29 Sep 2021 09:17:29 +0000 (18:17 +0900)
Change-Id: Id4509ed014382aab7938d06ce7920fb9478f8ccf

plugins/wakeup-manager/dependency-default/src/dependency_default_button.cpp
plugins/wakeup-manager/src/wakeup_audio_manager.cpp

index 140ac41..0b0c856 100644 (file)
@@ -16,6 +16,8 @@ static mas_dependency_plugin_proxy_interface g_proxy_interface;
 static Ecore_Event_Handler* g_key_down_handler = NULL;
 static Ecore_Event_Handler* g_key_up_handler = NULL;
 
+static Ecore_Wl2_Display *g_ecore_wl2_display = NULL;
+
 static chrono::time_point<chrono::system_clock> g_last_key_pressed;
 static bool g_voice_key_pressed = false;
 const float DEFAULT_KEY_TAP_DURATION = 0.3f * 1000;
@@ -133,13 +135,11 @@ void dependency_default_button_initialize(mas_dependency_plugin_proxy_interface
 {
        g_proxy_interface = interface;
 
-       Ecore_Wl2_Display *_ecore_wl2_display = NULL;
-
        Eina_Bool ret = ecore_wl2_init();
        LOGD("ecore_wl2_init: %d", ret);
 
-       _ecore_wl2_display = ecore_wl2_display_connect(NULL);
-       LOGD("_ecore_wl2_display: %p", _ecore_wl2_display);
+       g_ecore_wl2_display = ecore_wl2_display_connect(NULL);
+       LOGD("g_ecore_wl2_display: %p", g_ecore_wl2_display);
 
        g_last_key_pressed = chrono::system_clock::now();
        _grab_voice_key();
@@ -148,6 +148,10 @@ void dependency_default_button_initialize(mas_dependency_plugin_proxy_interface
 
 void dependency_default_button_deinitialize()
 {
+       if (g_ecore_wl2_display) {
+               ecore_wl2_display_disconnect(g_ecore_wl2_display);
+               g_ecore_wl2_display = NULL;
+       }
        _delete_key_cb();
        _ungrab_voice_key();
 }
index 78e4eec..7720a19 100644 (file)
@@ -34,6 +34,7 @@ CAudioManager::CAudioManager()
 
 CAudioManager::~CAudioManager()
 {
+       deinitialize();
 }
 
 CAudioManager::CAudioManager(IAudioEventObserver *observer) : CAudioManager()