m_ise_exiting (false), m_is_imengine_aux (false), m_is_imengine_candidate (false),
m_refocus_needed (false),
m_reshow_needed (false),
- m_restart_needed (true),
+ m_restart_needed (false),
m_is_ise_alive (false),
m_last_socket_client (-1), m_last_client_context (0),
m_ise_context_buffer (NULL), m_ise_context_length (0),
lock ();
HelperInfoRepository::iterator hiit = m_helper_info_repository.find (client_id);
+ bool launch_ise_on_request = scim_global_config_read (String (SCIM_GLOBAL_CONFIG_LAUNCH_ISE_ON_REQUEST), false);
if (hiit != m_helper_info_repository.end ()) {
bool restart = false;
String uuid = hiit->second.uuid;
m_signal_stop_default_ise (false);
- if (m_refocus_needed || m_reshow_needed)
+ if (m_refocus_needed || m_reshow_needed || !launch_ise_on_request)
m_restart_needed = true;
if (restart && !m_ise_exiting && m_restart_needed) {
}
m_ise_exiting = false;
- m_restart_needed = true;
+ m_restart_needed = launch_ise_on_request ? false : true;
unlock ();
socket_transaction_start ();
m_signal_remove_helper (client_id);