diff options
author | Adam Powell <adamp@google.com> | 2010-10-19 12:04:49 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-10-19 12:04:49 -0700 |
commit | 067222d11f95e2547b638b6daf5d4c06c6dc49ef (patch) | |
tree | 3fd2129c2221538acccc16380bf6fad918d26bcb | |
parent | 24a7d5d053222cc3fb19ddd442c58bc4ac2c110c (diff) | |
parent | 35f21fe0ffe0c6374fe253777020cf0ffdd1a4bd (diff) | |
download | frameworks_base-067222d11f95e2547b638b6daf5d4c06c6dc49ef.zip frameworks_base-067222d11f95e2547b638b6daf5d4c06c6dc49ef.tar.gz frameworks_base-067222d11f95e2547b638b6daf5d4c06c6dc49ef.tar.bz2 |
Merge "Fix bug 3109812 - NPE in ButtonGroup.dispatchDraw"
-rw-r--r-- | core/java/android/widget/ButtonGroup.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/core/java/android/widget/ButtonGroup.java b/core/java/android/widget/ButtonGroup.java index ce3decb..6af1c7e 100644 --- a/core/java/android/widget/ButtonGroup.java +++ b/core/java/android/widget/ButtonGroup.java @@ -110,8 +110,13 @@ public class ButtonGroup extends LinearLayout { return; } mDivider = divider; - mDividerWidth = divider.getIntrinsicWidth(); - mDividerHeight = divider.getIntrinsicHeight(); + if (divider != null) { + mDividerWidth = divider.getIntrinsicWidth(); + mDividerHeight = divider.getIntrinsicHeight(); + } else { + mDividerWidth = 0; + mDividerHeight = 0; + } requestLayout(); } @@ -204,6 +209,11 @@ public class ButtonGroup extends LinearLayout { @Override public void dispatchDraw(Canvas canvas) { + if (mDivider == null) { + super.dispatchDraw(canvas); + return; + } + final boolean begin = (mShowDividers & SHOW_DIVIDER_BEGINNING) == SHOW_DIVIDER_BEGINNING; final boolean middle = (mShowDividers & SHOW_DIVIDER_MIDDLE) == SHOW_DIVIDER_MIDDLE; final boolean end = (mShowDividers & SHOW_DIVIDER_END) == SHOW_DIVIDER_END; |