}
}
-static void
-_update_preedit_string (int context,
- const WideString &str,
- const AttributeList &attrs,
- int caret)
-{
- SCIM_DEBUG_FRONTEND (1) << __FUNCTION__ << "...\n";
- LOGD ("");
- WSCContextISF* ic = find_ic (context);
-
- if (ic && ic->impl && _focused_ic == ic) {
- if (!ic->impl->is_on)
- ic->impl->is_on = true;
-
- if (ic->impl->preedit_string != str || str.length ()) {
- ic->impl->preedit_string = str;
- ic->impl->preedit_attrlist = attrs;
-
- if (ic->impl->use_preedit) {
- if (!ic->impl->preedit_started) {
- if (!check_valid_ic (ic))
- return;
-
- ic->impl->preedit_started = true;
- ic->impl->need_commit_preedit = true;
- }
- if (caret >= 0 && caret <= (int)str.length ())
- ic->impl->preedit_caret = caret;
- else
- ic->impl->preedit_caret = str.length ();
- ic->impl->preedit_updating = true;
- if (check_valid_ic (ic))
- ic->impl->preedit_updating = false;
- wsc_context_send_preedit_string (ic);
- } else {
- String _str = utf8_wcstombs (str);
- g_info_manager->socket_update_preedit_string (_str, attrs, (uint32)caret);
- }
- }
- }
-}
-
void
initialize (void)
{