The odd thing is, the bug wouldn't manifest in a small test app that I wrote
for the purpose of testing possible workarounds. In that app, the text
displayed correctly every single time.
I just did some checking, and this behavior wasn't observed (although it might
have been happening unobserved) until after we began compiling the app with
this:
mx|Label {
textFieldClass:ClassReference("mx.core.UIFTETextField");
}
That was needed to get Arabic text rendering properly. That means that the
number of UIFTETextFields that the app was creating had increased dramatically.
I put some tracing code in FTETextField.createTextLinesFromTextBlock() and
noticed that it was getting called numerous times in the main app, prior to
where the bug occurred, but not so much in the small app prior to where the bug
should have occurred. It makes sense that the recycler was the culprit. In the
main app the pool of recycled TextLines was probably large, whereas in the
small app it might have been empty, therefore no recycling was occurring to gum
things up.
I'm thinking now of having a switch in the app that the small (but important)
fraction of our Arabic-speaking users could use that would, at runtime rather
than compile time, set the textFieldClass style of mx.controls.Label to
UIFTETextField and disable TextLine recycling, while for everyone else, the old
textFieldClass and TextLine recycling would be used. Do you see any potential
problems with that approach?
________________________________
From: Alex Harui <[email protected]>
To: "[email protected]" <[email protected]>
Sent: Thursday, June 13, 2013 2:33 PM
Subject: Re: [flexcoders] UIFTETextField - randomly disappearing lines
Well I'd run into this before but I thought we'd fixed all cases (and I
couldn't find the old bug report). Not having the recycler might slow down
your app a bit. If you have a small test case, please file a bug at
issues.apache.org/jira under the Flex project there.
From: Dave Glasser <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Thursday, June 13, 2013 10:49 AM
To: "[email protected]" <[email protected]>
Subject: Re: [flexcoders] UIFTETextField - randomly disappearing lines
Dude, you're amazing. That worked like a charm. I owe you one.
________________________________
From: Alex Harui <[email protected]>
To: "[email protected]" <[email protected]>
Sent: Thursday, June 13, 2013 1:00 PM
Subject: Re: [flexcoders] UIFTETextField - randomly disappearing lines
Try turning off the recycler:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flashx/textLayout/compose/TextLineRecycler.html
From: Dave Glasser <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Thursday, June 13, 2013 9:16 AM
To: "[email protected]" <[email protected]>
Subject: Re: [flexcoders] UIFTETextField - randomly disappearing lines
It's 4.6.0.23201B. One of the last Adobe releases.
________________________________
From: Alex Harui <[email protected]>
To: "[email protected]" <[email protected]>
Sent: Thursday, June 13, 2013 12:08 PM
Subject: Re: [flexcoders] UIFTETextField - randomly disappearing lines
What version of Flex SDK? This sounds like an old bug.
From: Dave Glasser <[email protected]>
Reply-To: "flexc! [email protected]" <[email protected]>
Date: Thursday, June 13, 2013 8:57 AM
To: "[email protected]" <[email protected]>
Subject: [flexcoders] UIFTETextField - randomly disappearing lines
I have a UIFTETextField that is displaying a line of text 115 characters long.
I set its width to 300 with wordwrap enabled, and it wraps the text into 3
lines. The weird thing is that any or all of the lines may be invisible when
this object is displayed. Sometimes you'll see the first and third lines with a
blank line between them, other times maybe two blank lines followed by the
visible third line, other times all three are blank.
Has anyone ever encountered something like this? I checked the bug tracker for
UIFTETextField and its parent class, FTETextField, and didn't find any bug
report on this.