bool m_ise_exiting;
bool m_is_imengine_aux;
bool m_is_imengine_candidate;
+ bool m_reshow_needed;
std::vector<int> m_current_send_remoteinput_id;
std::vector<int> m_current_recv_remoteinput_id;
m_active_client_id (-1),
m_should_shared_ise (false),
m_ise_exiting (false), m_is_imengine_aux (false), m_is_imengine_candidate (false),
+ m_reshow_needed (false),
m_last_socket_client (-1), m_last_client_context (0),
m_ise_context_buffer (NULL), m_ise_context_length (0) {
m_current_ise_name = String (_ ("English Keyboard"));
if (it != m_helper_client_index.end ()) {
Socket client_socket (it->second.id);
m_panel_agent_manager.show_helper (it->second.id, ctx, uuid, data, len);
+ m_reshow_needed = false;
return true;
}
LOGW ("Can't find %s", m_current_helper_uuid.c_str ());
+ m_reshow_needed = true;
+
return false;
}
void hide_helper (const String& uuid, uint32 ctx = 0) {
HelperClientIndex::iterator it = m_helper_client_index.find (m_current_helper_uuid);
+ m_reshow_needed = false;
if (it != m_helper_client_index.end ()) {
int client;
uint32 context;
}
void reshow_input_panel () {
+ if (!m_reshow_needed) return;
+
/* Check whether application is already focus_in */
if (m_current_socket_client != -1) {
LOGD ("Re-focus in");