(sis) xterm standout mode not drawn properly when another window overlaps xterm
Submitted by raf
Assigned to Xorg Project Team
Description
software versions:
ubuntu-7.0-4 xorg 7.2-0ubuntu11 xserver-xorg-core 1.2.0-3ubuntu8 xserver-xorg-video-sis 0.9.1-4ubuntu1 xterm 223-1 (and xterm-229 compiled from source)
problem description:
when a program that is running in xterm uses standout/reverse mode and there is another window overlapping the xterm window such that the top or bottom edge of the overlapping window intersects with the region of standout mode in the xterm window, then xterm incorrectly draws that part of the standout region that is below the intersecting horizontal edge of the overlapping window.
this only seems to happen on ubuntu hosts with sis video adapters and it happens with ubuntu's packaged xterm (223) as well as the latest version of xterm (229) running from both ubuntu and from solaris as long as the window is displayed on the ubuntu/xorg host with the sis driver.
in order to help you understand the problemn description above, i have put some screenshots on a website:
http://raf.org/dump1.png - shows mutt in a little xterm on the left with everything looking correct.
http://raf.org/dump2.png - shows what happens after the little xterm on the right is moved to overlap with the little xterm on the left. then, in the little xterm on the left, i pressed Control-R to redraw it. notice that the the first row (in standout mode) in that xterm is not redrawn properly. the part of that line where the y-coord is below the y-coord of the top of the overlapping window is drawn in black.
http://raf.org/dump3.png - shows what happens after resizing the overlapping xterm on the right so that it's lower edge also intersects with a line in standout mode in the little xterm window on the left. after pressing Control-R in the xterm on the left, both standout lines that intersect with the horizontal edges of the overlapping window are drawn incorrectly.
http://raf.orgdump4.png - shows what happens while/after dragging the overlapping window to the right and down a bit. the standout mode is redrawn correctly where the overlapping window was, but the original, icorrectly drawn parts aren't redrawn (until Control-R is pressed in the xterm on the left)
http://raf.org/.xresources - my xterm-related x resources
notes:
it doesn't matter what window is overlapping the xterm window (i.e. it doesn't also have to be xterm) but this only happens when the overlapped window is xterm.
it doesn't matter what window manager is being used. this bug happens both with twm and with whatever gnome's default window manager is.
it didn't happen with the latest xterm (229) compiled on solaris and displayed on a sunray terminal so i doubt that it is an xterm bug.
it happened on two ubuntu hosts with sis video adapters but not on other ubuntu hosts with different video adapters.
so i suspect that it is either a bug in xorg's sis driver or a bug that exists between xterm and the sis driver.
workarounds:
never let any window overlap an xterm window if you use the xorg's sis driver.
get a different video adapter :)