http://bugs.winehq.org/show_bug.cgi?id=4595
------- Additional Comments From jave27@gmail.com 2006-17-02 10:05 ------- I managed to get it to work by changing the last parameter in clipping.c from "YXBanded" to "Unsorted", but Alexandre Julliard says that we need to keep the YXBanded status:
http://www.winehq.org/pipermail/wine-devel/2006-February/044976.html
He also referred to the code in dlls/x11drv/region.c as the reason for that.
I haven't noticed any strange screen artifacts by changing it to Unsorted, but it's not the "correct" method. Here's the Xlib progamming manual on the topic:
http://tronche.com/gui/x/xlib/GC/convenience-functions/XSetClipRectangles.ht...
Here's what it has to say on the last argument about clipping rectangle sorting:
"If known by the client, ordering relations on the rectangles can be specified with the ordering argument. This may provide faster operation by the server. If an incorrect ordering is specified, the X server may generate a BadMatch error, but it is not required to do so. If no error is generated, the graphics results are undefined. Unsorted means the rectangles are in arbitrary order. YSorted means that the rectangles are nondecreasing in their Y origin. YXSorted additionally constrains YSorted order in that all rectangles with an equal Y origin are nondecreasing in their X origin. YXBanded additionally constrains YXSorted by requiring that, for every possible Y scanline, all rectangles that include that scanline have an identical Y origins and Y extents."
So, we need to figure out exactly why that parameter is crashing this app.
I'll attach some logs, too.