ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/screen.C
(Generate patch)

Comparing rxvt-unicode/src/screen.C (file contents):
Revision 1.238 by root, Thu Jan 19 16:22:13 2006 UTC vs.
Revision 1.240 by root, Thu Jan 19 17:21:20 2006 UTC

239 CLEAR_ALL_SELECTION (); 239 CLEAR_ALL_SELECTION ();
240 rvideo = 0; 240 rvideo = 0;
241 } 241 }
242 else 242 else
243 { 243 {
244 CLEAR_ALL_SELECTION ();
245
244 /* 246 /*
245 * add or delete rows as appropriate 247 * add or delete rows as appropriate
246 */ 248 */
247 249
248 rxvt_salloc *old_ta = talloc; talloc = new rxvt_salloc (ncol * sizeof (text_t)); 250 rxvt_salloc *old_ta = talloc; talloc = new rxvt_salloc (ncol * sizeof (text_t));
325 qline->l = ncol; 327 qline->l = ncol;
326 qline->is_longer (1); 328 qline->is_longer (1);
327 329
328 int qcol = 0; 330 int qcol = 0;
329 331
332 // see below for cursor adjustment rationale
333 if (p == ocur.row)
334 screen.cur.row = q - (total_rows - nrow);
335
330 // fill a single destination line 336 // fill a single destination line
331 while (lofs < llen && qcol < ncol) 337 while (lofs < llen && qcol < ncol)
332 { 338 {
333 int prow = lofs / prev_ncol; 339 int prow = lofs / prev_ncol;
334 int pcol = lofs % prev_ncol; 340 int pcol = lofs % prev_ncol;
388 row_buf [row].clear (); scr_blank_screen_mem (row_buf [row], DEFAULT_RSTYLE); 394 row_buf [row].clear (); scr_blank_screen_mem (row_buf [row], DEFAULT_RSTYLE);
389 } 395 }
390 396
391 term_start = 0; 397 term_start = 0;
392 } 398 }
393
394#ifdef DEBUG_STRICT //TODO: remove
395 for (int i = top_row; i < nrow; i++)
396 assert (ROW (i).t);
397#endif
398 399
399 free (old_buf); 400 free (old_buf);
400 delete old_ta; 401 delete old_ta;
401 delete old_ra; 402 delete old_ra;
402 403

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines