Fix RCTText not always drawing in Nodes

Summary:
In Nodes, there were certain cases where text wasn't drawn due to an
optimization that skipped measuring because the size was already known.

Reviewed By: emilsjolander

Differential Revision: D3713841
This commit is contained in:
Ahmed El-Helw 2016-08-15 14:27:40 -07:00
parent 8600723402
commit bcf2e329ed
1 changed files with 13 additions and 2 deletions

View File

@ -134,8 +134,19 @@ import com.facebook.textcachewarmer.DefaultTextLayoutCacheWarmer;
clipBottom); clipBottom);
if (mText == null) { if (mText == null) {
// nothing to draw (empty text). // as an optimization, LayoutEngine may not call measure in certain cases, such as when the
return; // dimensions are already defined. in these cases, we should still draw the text.
if (bottom - top > 0 && right - left > 0) {
CharSequence text = getText();
if (!TextUtils.isEmpty(text)) {
mText = text;
}
}
if (mText == null) {
// nothing to draw (empty text).
return;
}
} }
boolean updateNodeRegion = false; boolean updateNodeRegion = false;