summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Viarheichyk <viarheichyk@google.com>2014-09-23 16:55:09 -0700
committerIgor Viarheichyk <viarheichyk@google.com>2014-09-23 16:57:18 -0700
commit9659d791065c936fe83d1ac09dc67ef2711edaaf (patch)
tree7c5c7d03107734f533c2fd7e0c9c1bceac130c6b
parent4632057aaa792985dc86763bc4f110f419ca070c (diff)
downloadbase-9659d791065c936fe83d1ac09dc67ef2711edaaf.tar.gz
Fixed infinite loop in case of invalid circular resource references
Change-Id: I3e3608fd3d700360027813f66458c6636b5b0460
-rw-r--r--lint/cli/src/test/java/com/android/tools/lint/checks/data/res/layout/relative_overlap.xml16
-rw-r--r--lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/RelativeOverlapDetector.java2
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;
}