summaryrefslogtreecommitdiffstats
path: root/src/PYPLuaConverterCandidates.cc
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2018-06-15 11:36:12 +0800
committerPeng Wu <alexepico@gmail.com>2018-06-15 11:36:12 +0800
commit766a1322395e32286930a62b9f66033a0d8d637c (patch)
tree7de09b05eba63d1c700339df8c5262a243c98dff /src/PYPLuaConverterCandidates.cc
parent89e6d4c522217278ac24d5f4cfc38162a267c9a3 (diff)
downloadibus-libpinyin-766a1322395e32286930a62b9f66033a0d8d637c.tar.gz
ibus-libpinyin-766a1322395e32286930a62b9f66033a0d8d637c.tar.xz
ibus-libpinyin-766a1322395e32286930a62b9f66033a0d8d637c.zip
fixes lua memory leak
Diffstat (limited to 'src/PYPLuaConverterCandidates.cc')
-rw-r--r--src/PYPLuaConverterCandidates.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/PYPLuaConverterCandidates.cc b/src/PYPLuaConverterCandidates.cc
index e4608f4..a581c13 100644
--- a/src/PYPLuaConverterCandidates.cc
+++ b/src/PYPLuaConverterCandidates.cc
@@ -75,8 +75,9 @@ LuaConverterCandidates::processCandidates (std::vector<EnhancedCandidate> & cand
ibus_engine_plugin_call (m_lua_plugin, converter,
enhanced.m_display_string.c_str ());
- enhanced.m_display_string =
- ibus_engine_plugin_get_first_result (m_lua_plugin);
+ gchar * string = ibus_engine_plugin_get_first_result (m_lua_plugin);
+ enhanced.m_display_string = string;
+ g_free (string);
}
return TRUE;
@@ -100,8 +101,9 @@ LuaConverterCandidates::selectCandidate (EnhancedCandidate & enhanced)
if (SELECT_CANDIDATE_MODIFY_IN_PLACE_AND_COMMIT == action) {
ibus_engine_plugin_call (m_lua_plugin, converter,
enhanced.m_display_string.c_str ());
- enhanced.m_display_string =
- ibus_engine_plugin_get_first_result (m_lua_plugin);
+ gchar * string = ibus_engine_plugin_get_first_result (m_lua_plugin);
+ enhanced.m_display_string = string;
+ g_free (string);
}
return action;