Well I've made some researching, I'm not a XServer guru but this is what I found using xtrace. When is going to draw the button (that shows the bug) in a example program this is the code that is been called.
I have made the tests with a small program showing a dialog box just with a button. If you need more information, or if this is not enough just ask for more info, I'll be more than glad to help with this bug. If you need the source code of the test program or the complete output of the xtrace I'll attach it.
Well I've made some researching, I'm not a XServer guru but this is what I found using xtrace. When is going to draw the button (that shows the bug) in a example program this is the code that is been called.
001:<:0119: 20: Request(59): SetClipRectangles ordering= YXBanded( 0x03) gc=0x0560000b clip-x-origin=36 clip-y-origin=16 rectangles ={x=0 y=0 w=76 h=26}; {foreground= 0x00d4d0c8 background= 0x00d4d0c8} {foreground= 0x00000000 join-style= Miter(0x00) } {foreground= 0x00ffffff join-style= Round(0x01) } {foreground= 0x00404040} {foreground= 0x00d4d0c8} {foreground= 0x00808080} {foreground= 0x00d4d0c8}
001:<:011a: 20: Request(56): ChangeGC gc=0x0560000b values=
001:<:011b: 20: Request(70): PolyFillRectangle drawable=0x05e00006 gc=0x0560000b rectangles={x=36 y=16 w=75 h=25};
001:<:011c: 20: Request(56): ChangeGC gc=0x0560000b values=
001:<:011d: 20: Request(67): PolyRectangle drawable=0x05e00006 gc=0x0560000b rectangles={x=36 y=16 w=75 h=25};
001:<:011e: 20: Request(56): ChangeGC gc=0x0560000b values=
001:<:011f: 28: Request(66): PolySegment drawable=0x05e00006 gc=0x0560000b segments={x1=37 y1=17 x2=111 y2=17},{x1=37 y1=17 x2=37 y2=41};
001:<:0120: 16: Request(56): ChangeGC gc=0x0560000b values=
001:<:0121: 28: Request(66): PolySegment drawable=0x05e00006 gc=0x0560000b segments={x1=110 y1=40 x2=36 y2=40},{x1=110 y1=40 x2=110 y2=16};
001:<:0122: 16: Request(56): ChangeGC gc=0x0560000b values=
001:<:0123: 28: Request(66): PolySegment drawable=0x05e00006 gc=0x0560000b segments={x1=38 y1=18 x2=110 y2=18},{x1=38 y1=18 x2=38 y2=40};
001:<:0124: 16: Request(56): ChangeGC gc=0x0560000b values=
001:<:0125: 28: Request(66): PolySegment drawable=0x05e00006 gc=0x0560000b segments={x1=109 y1=39 x2=37 y2=39},{x1=109 y1=39 x2=109 y2=17};
001:<:0126: 16: Request(56): ChangeGC gc=0x0560000b values=
001:<:0127: 20: Request(70): PolyFillRectangle drawable=0x05e00006 gc=0x0560000b rectangles={x=39 y=19 w=70 h=20};
I have made the tests with a small program showing a dialog box just with a button. If you need more information, or if this is not enough just ask for more info, I'll be more than glad to help with this bug. If you need the source code of the test program or the complete output of the xtrace I'll attach it.