using namespace scl;
static scim::ConfigPointer _scim_config(0);
+extern sclboolean g_need_exit;
/* Slot functions for calling appropriate callback functions */
static void slot_exit(const scim::HelperAgent *agent, int ic, const scim::String &ic_uuid) {
callback->on_ise_hide(ic, ic_uuid.c_str());
LOGD("call on_exit");
callback->on_exit();
+ g_need_exit = FALSE:
}
if (agent) {
agent->update_ise_exit();
#endif
m_fd_handler = ecore_main_fd_handler_add(fd, ECORE_FD_READ, input_handler, &m_helper_agent, NULL, NULL);
+ g_need_exit = TRUE;
}
}
}
using namespace scl;
+sclboolean g_need_exit = TRUE;
+
CSCLCoreImpl::CSCLCoreImpl()
{
m_event_callback = NULL;
void CSCLCoreImpl::fini()
{
LOGD("");
- if (m_event_callback) {
+ if (m_event_callback && g_need_exit) {
m_event_callback->on_exit();
}