Hi,
Looks good and is a simple work around.
Not that it impacts us now but I think the tricky question is can we
ever remove the workaround?
ie how will we ever know when we are using a fixed xrender lib.
I'd like to see core Xrender add a "GetVersion()" API so we can figure
this stuff out at runtime.
-phil.
On 11/20/13 7:38 AM, Clemens Eisserer wrote:
Hi,
Please review my fix for JDK-8028722: "XRender: Drawing strings with
exactly 254 glyphs causes hangs" available at
http://cr.openjdk.java.net/~ceisserer/8028722/webrev.00/
A test is available at:
http://cr.openjdk.java.net/~ceisserer/8028722/XRenderElt254TextTest.java
Problem description:
When drawing strings with a length that is a multiple of 254
characters, the xrender pipeline hangs.
This is caused by a bug in libXrender/XRenderCompositeText32 which
calculates a wrong request length in this case and passes garbage
bytes to the xserver.
Fix description:
As a workarround, this fix forces a new elt to be used after 253
characters, doing the split exactly two characters before libXrender
would do it internally anyway.
A patch for libXrender is awaiting review currently.
Thank you in advance, Clemens