Modified to add event listener only when creating new candidate object 60/66960/2
authorJi-hoon Lee <dalton.lee@samsung.com>
Fri, 22 Apr 2016 08:11:50 +0000 (17:11 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Fri, 22 Apr 2016 08:20:07 +0000 (17:20 +0900)
Since the previous create_softcandidate function adds event listener
every time it is called, which calls push_back() of the vector object,
resulting consume unnecessary memory. So changing the logic to add
event listener only when creating a new one.

Change-Id: I551a8bddeb222a80ea4a03732942f9f94e8ea16d

src/ise.cpp

index c5a3106..a11373a 100644 (file)
@@ -245,11 +245,12 @@ static void add_softcandidate_hide_timer(void)
 
 static void create_softcandidate(void)
 {
-    if (!g_candidate)
+    if (!g_candidate) {
         g_candidate = CandidateFactory::make_candidate(CANDIDATE_MULTILINE, g_core.get_main_window());
-
-    if (g_candidate)
-        g_candidate->add_event_listener(&g_candidate_event_listener);
+        if (g_candidate) {
+            g_candidate->add_event_listener(&g_candidate_event_listener);
+        }
+    }
 }
 
 void CCoreEventCallback::on_init()