diff options
author | ohrn@opera.com <ohrn@opera.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-12 16:17:10 +0000 |
---|---|---|
committer | ohrn@opera.com <ohrn@opera.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-12 16:17:10 +0000 |
commit | 761eeca283a00ac9a45c67a5efec1ec0bbf2ef13 (patch) | |
tree | 80f5c21ddc7a3b7035173b0d676e151313e223a4 /content | |
parent | 2de685cb184bca8520ae65d20bd8115805efbeac (diff) | |
download | chromium_src-761eeca283a00ac9a45c67a5efec1ec0bbf2ef13.zip chromium_src-761eeca283a00ac9a45c67a5efec1ec0bbf2ef13.tar.gz chromium_src-761eeca283a00ac9a45c67a5efec1ec0bbf2ef13.tar.bz2 |
Remove zero length composing spans.
This fixes the following logcat error:
E/SpannableStringBuilder(14995): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
BUG=229809
Review URL: https://chromiumcodereview.appspot.com/13820016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193948 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java b/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java index 045a542..68fb786 100644 --- a/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java +++ b/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java @@ -151,7 +151,12 @@ public class AdapterInputConnection extends BaseInputConnection { } Selection.setSelection(editable, selectionStart, selectionEnd); - super.setComposingRegion(compositionStart, compositionEnd); + + if (compositionStart == compositionEnd) { + removeComposingSpans(editable); + } else { + super.setComposingRegion(compositionStart, compositionEnd); + } if (mIgnoreTextInputStateUpdates) return; updateSelection(selectionStart, selectionEnd, compositionStart, compositionEnd); @@ -380,7 +385,12 @@ public class AdapterInputConnection extends BaseInputConnection { if (DEBUG) Log.w(TAG, "setComposingRegion [" + start + " " + end + "]"); int a = Math.min(start, end); int b = Math.max(start, end); - super.setComposingRegion(a, b); + + if (a == b) { + removeComposingSpans(getEditable()); + } else { + super.setComposingRegion(a, b); + } return mImeAdapter.setComposingRegion(a, b); } |