jihoon pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=777b9beb2373f2e98c5d5f28ad0e2c8f79ceea8a

commit 777b9beb2373f2e98c5d5f28ad0e2c8f79ceea8a
Author: Jihoon Kim <jihoon48....@samsung.com>
Date:   Thu Mar 2 10:19:53 2017 +0900

    ecore_imf/ibus: Fix memory leak allocated by ibus_bus_new
---
 src/modules/ecore_imf/ibus/ibus_imcontext.c | 10 ++++++++++
 src/modules/ecore_imf/ibus/ibus_imcontext.h |  1 +
 src/modules/ecore_imf/ibus/ibus_module.c    |  1 +
 3 files changed, 12 insertions(+)

diff --git a/src/modules/ecore_imf/ibus/ibus_imcontext.c 
b/src/modules/ecore_imf/ibus/ibus_imcontext.c
index 48d8a71..caa5fd8 100644
--- a/src/modules/ecore_imf/ibus/ibus_imcontext.c
+++ b/src/modules/ecore_imf/ibus/ibus_imcontext.c
@@ -304,6 +304,16 @@ ecore_imf_context_ibus_new(void)
 }
 
 void
+ecore_imf_context_ibus_shutdown(void)
+{
+   if (_bus)
+     {
+        g_object_unref(_bus);
+        _bus = NULL;
+     }
+}
+
+void
 ecore_imf_context_ibus_add(Ecore_IMF_Context *ctx)
 {
    EINA_LOG_DBG("%s", __FUNCTION__);
diff --git a/src/modules/ecore_imf/ibus/ibus_imcontext.h 
b/src/modules/ecore_imf/ibus/ibus_imcontext.h
index 141bfe7..93eff15 100644
--- a/src/modules/ecore_imf/ibus/ibus_imcontext.h
+++ b/src/modules/ecore_imf/ibus/ibus_imcontext.h
@@ -37,4 +37,5 @@ void 
ecore_imf_context_ibus_client_canvas_set(Ecore_IMF_Context *context, void *
 Eina_Bool ecore_imf_context_ibus_filter_event(Ecore_IMF_Context *ctx, 
Ecore_IMF_Event_Type type, Ecore_IMF_Event *event);
 
 IBusIMContext *ecore_imf_context_ibus_new(void);
+void ecore_imf_context_ibus_shutdown(void);
 #endif
diff --git a/src/modules/ecore_imf/ibus/ibus_module.c 
b/src/modules/ecore_imf/ibus/ibus_module.c
index 63240f1..c35ab39 100644
--- a/src/modules/ecore_imf/ibus/ibus_module.c
+++ b/src/modules/ecore_imf/ibus/ibus_module.c
@@ -81,6 +81,7 @@ im_module_init(void)
 
 static void im_module_shutdown(void)
 {
+   ecore_imf_context_ibus_shutdown();
 }
 
 static Ecore_IMF_Context *

-- 


Reply via email to