diff options
author | Igor Viarheichyk <viarheichyk@google.com> | 2014-09-23 16:55:09 -0700 |
---|---|---|
committer | Igor Viarheichyk <viarheichyk@google.com> | 2014-09-23 16:57:18 -0700 |
commit | 9659d791065c936fe83d1ac09dc67ef2711edaaf (patch) | |
tree | 7c5c7d03107734f533c2fd7e0c9c1bceac130c6b | |
parent | 4632057aaa792985dc86763bc4f110f419ca070c (diff) | |
download | base-9659d791065c936fe83d1ac09dc67ef2711edaaf.tar.gz |
Fixed infinite loop in case of invalid circular resource references
Change-Id: I3e3608fd3d700360027813f66458c6636b5b0460
2 files changed, 17 insertions, 1 deletions
diff --git a/lint/cli/src/test/java/com/android/tools/lint/checks/data/res/layout/relative_overlap.xml b/lint/cli/src/test/java/com/android/tools/lint/checks/data/res/layout/relative_overlap.xml index fcfba0aea1..440dcb4421 100644 --- a/lint/cli/src/test/java/com/android/tools/lint/checks/data/res/layout/relative_overlap.xml +++ b/lint/cli/src/test/java/com/android/tools/lint/checks/data/res/layout/relative_overlap.xml @@ -21,6 +21,22 @@ android:layout_height="wrap_content" android:text="@string/label2_text" android:ellipsize="end" /> + <TextView + android:id="@+id/circular1" + android:layout_alignParentBottom="true" + android:layout_toRightOf="@+id/circular2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/label1_text" + android:ellipsize="end" /> + <TextView + android:id="@id/circular2" + android:layout_alignParentBottom="true" + android:layout_toRightOf="@id/circular1" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/label2_text" + android:ellipsize="end" /> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" diff --git a/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/RelativeOverlapDetector.java b/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/RelativeOverlapDetector.java index 105a03c3ce..b7f0d266cc 100644 --- a/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/RelativeOverlapDetector.java +++ b/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/RelativeOverlapDetector.java @@ -241,7 +241,7 @@ public class RelativeOverlapDetector extends LayoutDetector { mToRight = findNodeByAttr(nodes, ATTR_LAYOUT_TO_RIGHT_OF); } if (mToRight != null) { - mToRight.mLastRight = false; + mToRight.mLastLeft = false; mLastRight = false; } |