Bug 14744 - gnome-terminal scroll bug
Summary: gnome-terminal scroll bug
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gnome-libs
Version: 7.0
Hardware: i386
OS: Linux
low
high
Target Milestone: ---
Assignee: Havoc Pennington
QA Contact:
URL:
Whiteboard: Winston gold
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2000-07-27 19:00 UTC by Matthew Kirkwood
Modified: 2008-05-01 15:37 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2000-08-21 22:30:01 UTC
Embargoed:


Attachments (Terms of Use)

Description Matthew Kirkwood 2000-07-27 19:00:55 UTC
(This is probably a zvt bug, hence gnome-libs.  I don't have Pinstripe yet,
hence beta 3.)

Gnome terminal does not always correctly paint itself on scroll when a
portion of its window is covered (as far as I can see, it has to be the
lower right portion).

To reproduce:

Fire up a gnome-terminal  (mine are about 130x35, but I don't think it's
size-dependant).

Cover a few lines and a few dozen columns of the bottom right corner.

Hit return until you're causing the window to scroll.

Run a command which will produce a few lines of output (ls -l in a smallish
directory does it for me).

Some of the output lines will be missing or incomplete.  Drag another
window over it and they will paint OK.

Comment 1 Trond Eivind Glomsrxd 2000-07-27 20:09:56 UTC
Also a problem in beta5 - highly annoying

Comment 2 Glen Foster 2000-07-30 21:49:43 UTC
This defect is considered MUST-FIX for Winston Gold-release

Comment 3 Havoc Pennington 2000-08-05 00:57:56 UTC
This one is nasty. We have a theory which patch created the bug, but that patch 
fixed another similar bug, so simply removing it isn't going to work.

Comment 4 Alan Cox 2000-08-06 01:42:46 UTC
Does merging the expose events and then forcing a repaint of a rectangle the
width of the expose area and the height of the window fix this. I think it will
if the clip rectangle is adjusted for this.


Comment 5 Havoc Pennington 2000-08-06 04:44:09 UTC
The part that doesn't get redrawn shouldn't be getting an expose; the stuff that
gets graphics exposes gets redrawn properly. At least, with the way to reproduce
it I've found, the failure to redraw is on the left side of the term, not hte
side that's partially covered...

Comment 6 Tim Waugh 2000-08-09 14:35:16 UTC
I can reproduce this problem (or one very much like it) without partially
covering the window.  New gnome-terminal, "while :; do date; done", and on lines
which cause a scroll only the first three characters or so are drawn.

Comment 7 John Cagle 2000-08-10 07:43:14 UTC
I've seen this too on pinstripe, but it doesn't happen
on every installation -- it appears to be affected by
the video mode XFree is running in.

Comment 8 Havoc Pennington 2000-08-10 22:47:03 UTC
This bug is really horrible; the gnome-terminal redraw code is insanely
complicated, and changing any of it looks likely to break something else. 
We've spent many hours looking at fixing this already with no very good
idea how to fix it.

The only "definitely will work" solution so far is to always redraw the whole
terminal on scroll, but then we have a "gnome-terminal is pretty darn slow" bug.

Comment 9 Trond Eivind Glomsrxd 2000-08-15 02:37:50 UTC
It's still present in the latest available packages (internally) and it makes
many operations really, really hard. Better slow than non-working.

Comment 10 Havoc Pennington 2000-08-19 17:13:10 UTC
OK I'm putting the "slow but works" patch into the test tree.
Will close the bug when it goes into the real tree. I know someone is going to
flame us about how "Red Hat made gnome-terminal slow" or something, sigh.

Comment 11 Trond Eivind Glomsrxd 2000-08-21 21:34:49 UTC
Still a problem using all the latest and greatest.

Comment 12 Trond Eivind Glomsrxd 2000-08-21 21:36:36 UTC
Actually, the problem here seems to be that it doesn't want to start a new
line... painting everything on the same line OK, though ;)


Comment 13 Havoc Pennington 2000-08-21 22:25:09 UTC
Is it at least better? If it's better now, we'll leave it slow, if it's not
better, it may as well be fast so I'll back out the attempted fix. We can't fix
the draw code though; there is just no way to figure it out and feel confident
about it in 7 days, it's a fairly major rewrite-lots-of-code kind of project.
i.e. if slowing it down didn't fix it, it ain't getting fixed.

Comment 14 Trond Eivind Glomsrxd 2000-08-21 22:29:57 UTC
Yes, it's better. It does repaint correctly now, it just doesn't add a newline
so it goes on writing from the start of the current line.

Comment 15 Havoc Pennington 2001-07-06 02:41:25 UTC
The solution here is a reworked terminal widget. My time estimate on this task
is 1-2 months. Not planned in the immediate future. Though I wouldn't mind
seeing it done.



Note You need to log in before you can comment on or make changes to this bug.