bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Gnome Terminal screen corruption


From: Andy Key
Subject: Gnome Terminal screen corruption
Date: Thu, 30 Dec 2010 18:28:07 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Apologies but I'm not entirely sure how to check what ncurses patches have made 
it into a given Fedora RPM.

Fedora 14
Gnome Terminal 2.32.0
ncurses-5.7-9.20100703.fc14.x86_64
TERM=gnome or TERM=xterm (problem happens in both cases)

My program is a newly compiled text editor, and I find that if I scroll the 
text 
on the screen up and down, line by line, I can get screen corruption of some 
lines.
The editor will have done insertln() and deleteln() calls to get the ncurses 
screen buffer in memory scrolled, and then upon refresh(), ncurses will 
probably 
have noticed that the terminal has escape sequences for this kind of thing.

The corruption seen is that some lines don't seem to be written, leaving the 
previous text in that position.
So this is clearly visible, as the scrolled line appears twice (once where it 
should be, and once where it was, but something else should now be).

Before
a
b
c

Should become
b
c
d

But sometimes I get
b
b        <- wrong
d

The editor has a redraw keystroke, which causes refresh() to be called again.
When the corruption is visible, and this is pressed, the screen is repaired.

Its almost as if the problem is timing related.

I have not seen this problem on other UNIXes, earlier Linuxes or using PuTTY.
I have a copy of the program compiled (same source exactly) on Fedora Core 6 
x86_64, and even running this in the same Gnome Terminal, I've been unable to 
reproduce the same problem as yet.
Although I note that Fedora Core 6 will have had a much older ncurses.

I don't yet know which component (Gnome Terminal, gnome and/or xterm terminfo 
entries, ncurses, my editor) is the problem.

Any advice to track this down?

{{{ Andy





reply via email to

[Prev in Thread] Current Thread [Next in Thread]