summaryrefslogtreecommitdiff
path: root/indra/llwindow/llwindowmacosx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llwindow/llwindowmacosx.cpp')
-rw-r--r--indra/llwindow/llwindowmacosx.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 5184a6caec..a1d97429e1 100644
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -2102,15 +2102,17 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
}
// Handle preedit string.
- if (preedit_string.length() > 0)
+ if (preedit_string.length() == 0)
{
- if (preedit_segment_lengths.size() == 0)
- {
- preedit_segment_lengths.push_back(preedit_string.length());
- preedit_standouts.push_back(FALSE);
- }
- mPreeditor->updatePreedit(preedit_string, preedit_segment_lengths, preedit_standouts, caret_position);
+ preedit_segment_lengths.clear();
+ preedit_standouts.clear();
+ }
+ else if (preedit_segment_lengths.size() == 0)
+ {
+ preedit_segment_lengths.push_back(preedit_string.length());
+ preedit_standouts.push_back(FALSE);
}
+ mPreeditor->updatePreedit(preedit_string, preedit_segment_lengths, preedit_standouts, caret_position);
result = noErr;
}
@@ -3366,6 +3368,8 @@ void LLWindowMacOSX::interruptLanguageTextInput()
{
FixTSMDocument(mTSMDocument);
}
+ // Don't we need to call resetPreedit here?
+ // Well, if Apple's TSM document is correct, we don't.
}
#endif // LL_DARWIN