Due to the asynchronous creation of contexts, gtk_im_set_use_preedit may
be called before the context is ready. This patch is to
record the change of capability flag and enables to set it
later in _create_input_context_done.
BUG=http://crosbug.com/16500
TEST=ChromeOS Cr-48
Review URL: http://codereview.appspot.com/4635049
Patch from Kazuhiro Inaba <kinaba@chromium.org>.
IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (context);
+ if (use_preedit) {
+ ibusimcontext->caps |= IBUS_CAP_PREEDIT_TEXT;
+ }
+ else {
+ ibusimcontext->caps &= ~IBUS_CAP_PREEDIT_TEXT;
+ }
if(ibusimcontext->ibuscontext) {
- if (use_preedit) {
- ibusimcontext->caps |= IBUS_CAP_PREEDIT_TEXT;
- }
- else {
- ibusimcontext->caps &= ~IBUS_CAP_PREEDIT_TEXT;
- }
ibus_input_context_set_capabilities (ibusimcontext->ibuscontext,
ibusimcontext->caps);
}