On Tue, May 31, 2011 at 07:19:26PM +0200, Aurélien Aptel wrote: > > transparency support. In my opinion "st" seems like not very stable now, > > If you found a bug, please report it. It's the only way we can fix it.
Code for text selection is buggy. I can only see what I selected after either I release mouse or when st is compiled with -fno-strict-aliasing. Can't find how to fix it. BTW I have found out-of-bounds read which causes SIGSEGV. Function bmotion calls drawregion with y2 > term.row on line 603: drawregion(0, (starty > 0 ? starty : 0), term.col, (sel.ey < term.row ? endy+1 : term.row)); It sets endy to MAX(oldey, sel.ey). Everything is ok when sel.ey > oldey, but oldey is not checked. So if you, while selecting, move mouse out of terminal window and back, it segfaults. drawregion line should be changed to drawregion(0, (starty > 0 ? starty : 0), term.col, (endy < term.row ? endy+1 : term.row)); Another bug: while selecting, move mouse far higher than first row. Text disappears until you move mouse back.