<Swing Dev> [8] Review request for 8014863 Line break calculations in Java 7 are incorrect.

dmitry markov dmitry.markov at oracle.com
Mon May 27 14:09:30 UTC 2013


Hi Alexander,

I have changed the fix according to your comments:
     bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014863
     webrev: http://cr.openjdk.java.net/~vkarnauk/8014863/webrev.01/

The method View.forwardUpdate() will send update event to all views 
followed by the changed place. This event will cause view to drop the 
cache and re-calculate its break points.

Also I added some wrapper methods to the test. These methods are 
intended for accessing JEditorPane from the EDT thread.

Could you review the changes, please?

Thanks,
Dmitry

On 24/05/2013 15:35, Alexander Scherbatiy wrote:
> On 5/24/2013 11:46 AM, dmitry markov wrote:
>> Hello,
>>
>> Could toy review the fix:
>>     bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014863
>>     webrev: http://cr.openjdk.java.net/~vkarnauk/8014863/webrev.00/
>>
>> The fix removes break points caching from GlyphView. If some text is 
>> inserted/removed into/from the document contained several elements, 
>> all elements views will re-calculate their break points.
>
>    For example the ParagraphView.calculateMinorAxisRequirements method 
> can invoke several methods like getBreakWeight() and 
> calculateMinorAxisRequirements()
>    that both leads to GlyphView.getBreakSpot() method invocation on 
> the same method when the text is not changed. So the breakSpots cache 
> is still useful
>    in this case.  May be there are some missed places during text 
> updating where the breakSpots cache should be cleaned.
>
>
>   The getNumberOfTextLines() method in the test uses the JEditorPane 
> on the main thread. There is the invokeOnEDT() method in test Util 
> class that
>   helps to return a result from the EDT thread.
>
>   Thanks,
>   Alexandr.
>
>>
>> Thanks,
>> Dmitry.
>>
>>
>




More information about the swing-dev mailing list