diff options
author | ache <ache@FreeBSD.org> | 1994-11-27 02:22:09 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1994-11-27 02:22:09 +0000 |
commit | 127177257e1b1cf230c7c9a81b9bbeb09df79946 (patch) | |
tree | 306f9259fdd523b033973deb787e913315c967d7 /lib | |
parent | 8fc5c343ea8b1f60d8dde4a21e61ad8ff7aa0a94 (diff) | |
download | FreeBSD-src-127177257e1b1cf230c7c9a81b9bbeb09df79946.zip FreeBSD-src-127177257e1b1cf230c7c9a81b9bbeb09df79946.tar.gz |
Make idlok works properly with back color erase.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libncurses/lib_deleteln.c | 6 | ||||
-rw-r--r-- | lib/libncurses/lib_insdel.c | 4 | ||||
-rw-r--r-- | lib/libncurses/lib_insertln.c | 10 |
3 files changed, 16 insertions, 4 deletions
diff --git a/lib/libncurses/lib_deleteln.c b/lib/libncurses/lib_deleteln.c index d218eb4..0286211 100644 --- a/lib/libncurses/lib_deleteln.c +++ b/lib/libncurses/lib_deleteln.c @@ -23,6 +23,10 @@ int y, touched = 0; temp = win->_line[win->_cury]; if (win->_idlok && (delete_line != NULL)) { + if (back_color_erase) { + T(("back_color_erase, turning attributes off")); + vidattr(curscr->_attrs = A_NORMAL); + } putp(delete_line); touched = 1; } @@ -43,6 +47,6 @@ int y, touched = 0; } for (end = &(temp[win->_maxx]); temp <= end; ) - *temp++ = ' ' | win->_attrs; + *temp++ = ' '; return OK; } diff --git a/lib/libncurses/lib_insdel.c b/lib/libncurses/lib_insdel.c index df68f87..b23288b 100644 --- a/lib/libncurses/lib_insdel.c +++ b/lib/libncurses/lib_insdel.c @@ -85,6 +85,10 @@ chtype blank = ' '; if (win->_maxx == columns && win->_idlok == TRUE) { + if (back_color_erase) { + T(("back_color_erase, turning attributes off")); + vidattr(curscr->_attrs = A_NORMAL); + } if (n > 0) { mvcur(-1, -1, win->_cury, 0); if (parm_insert_line) { diff --git a/lib/libncurses/lib_insertln.c b/lib/libncurses/lib_insertln.c index 7a5694e..53bfcc1 100644 --- a/lib/libncurses/lib_insertln.c +++ b/lib/libncurses/lib_insertln.c @@ -23,8 +23,12 @@ int y, touched = 0; temp = win->_line[win->_regbottom]; if (win->_idlok && (insert_line != NULL)) { - putp(insert_line); - touched = 1; + if (back_color_erase) { + T(("back_color_erase, turning attributes off")); + vidattr(curscr->_attrs = A_NORMAL); + } + putp(insert_line); + touched = 1; } if (!touched) { @@ -44,6 +48,6 @@ int y, touched = 0; win->_line[win->_cury] = temp; for (end = &temp[win->_maxx]; temp <= end; temp++) - *temp = ' ' | win->_attrs; + *temp = ' '; return OK; } |