… | |
… | |
2136 | scr_set_char_rend (ROW(screen.cur.row), cur_col, rend); |
2136 | scr_set_char_rend (ROW(screen.cur.row), cur_col, rend); |
2137 | } |
2137 | } |
2138 | } |
2138 | } |
2139 | |
2139 | |
2140 | /* make sure no outline cursor is left around */ |
2140 | /* make sure no outline cursor is left around */ |
2141 | if (ocrow != -1) |
2141 | if (ocrow != -1 && ocrow < nrow && oldcursor.col < ncol) |
2142 | { |
|
|
2143 | if (screen.cur.row - view_start != ocrow |
|
|
2144 | || screen.cur.col != oldcursor.col || !showcursor) |
|
|
2145 | { |
|
|
2146 | if (ocrow < nrow |
|
|
2147 | && oldcursor.col < ncol) |
|
|
2148 | drawn_buf[ocrow].r[oldcursor.col] ^= (RS_RVid | RS_Uline); |
2142 | drawn_buf[ocrow].r[oldcursor.col] ^= (RS_RVid | RS_Uline); |
2149 | } |
|
|
2150 | } |
|
|
2151 | |
2143 | |
2152 | // save the current cursor coordinates if the cursor is visible |
2144 | // save the current cursor coordinates if the cursor is visible |
2153 | // and either the window is unfocused or the cursor style is |
2145 | // and either the window is unfocused or the cursor style is |
2154 | // vertical bar, so as to clear the outline cursor in the next |
2146 | // vertical bar, so as to clear the outline cursor in the next |
2155 | // refresh if the cursor moves or becomes invisible |
2147 | // refresh if the cursor moves or becomes invisible |