summaryrefslogtreecommitdiff
path: root/indra/llui/lltexteditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui/lltexteditor.cpp')
-rw-r--r--indra/llui/lltexteditor.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp
index 52f8c19ebd..1ec62f6927 100644
--- a/indra/llui/lltexteditor.cpp
+++ b/indra/llui/lltexteditor.cpp
@@ -286,7 +286,8 @@ LLTextEditor::LLTextEditor(
mMouseDownX(0),
mMouseDownY(0),
mLastSelectionX(-1),
- mLastSelectionY(-1)
+ mLastSelectionY(-1),
+ mLastIMEPosition(-1,-1)
{
mSourceID.generate();
@@ -2799,7 +2800,15 @@ void LLTextEditor::drawCursor()
1);
}
-
+ // Make sure the IME is in the right place
+ LLRect screen_pos = getScreenRect();
+ LLCoordGL ime_pos( screen_pos.mLeft + llfloor(cursor_left), screen_pos.mBottom + llfloor(cursor_top) );
+ if ( ime_pos.mX != mLastIMEPosition.mX || ime_pos.mY != mLastIMEPosition.mY )
+ {
+ mLastIMEPosition.mX = ime_pos.mX;
+ mLastIMEPosition.mY = ime_pos.mY;
+ getWindow()->setLanguageTextInput( ime_pos );
+ }
}
}
}