From 761eeca283a00ac9a45c67a5efec1ec0bbf2ef13 Mon Sep 17 00:00:00 2001 From: "ohrn@opera.com" Date: Fri, 12 Apr 2013 16:17:10 +0000 Subject: 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 --- .../content/browser/input/AdapterInputConnection.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'content') 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); } -- cgit v1.1