summaryrefslogtreecommitdiffstats
path: root/lib/libncurses
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1994-11-27 02:22:09 +0000
committerache <ache@FreeBSD.org>1994-11-27 02:22:09 +0000
commit127177257e1b1cf230c7c9a81b9bbeb09df79946 (patch)
tree306f9259fdd523b033973deb787e913315c967d7 /lib/libncurses
parent8fc5c343ea8b1f60d8dde4a21e61ad8ff7aa0a94 (diff)
downloadFreeBSD-src-127177257e1b1cf230c7c9a81b9bbeb09df79946.zip
FreeBSD-src-127177257e1b1cf230c7c9a81b9bbeb09df79946.tar.gz
Make idlok works properly with back color erase.
Diffstat (limited to 'lib/libncurses')
-rw-r--r--lib/libncurses/lib_deleteln.c6
-rw-r--r--lib/libncurses/lib_insdel.c4
-rw-r--r--lib/libncurses/lib_insertln.c10
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;
}
OpenPOWER on IntegriCloud