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.464 by root, Thu Aug 4 18:11:59 2022 UTC vs.
Revision 1.472 by root, Mon Aug 8 10:33:14 2022 UTC

332 llen += prev_ncol; 332 llen += prev_ncol;
333 } 333 }
334 334
335 int qlines = max (0, (llen - 1) / ncol) + 1; 335 int qlines = max (0, (llen - 1) / ncol) + 1;
336 336
337 // drop partial lines completely
338 if (q < qlines)
339 break;
340
337 q -= qlines; 341 q -= qlines;
338
339 // drop partial lines completely
340 if (q < 0)
341 break;
342 342
343 int lofs = 0; 343 int lofs = 0;
344 line_t *qline; 344 line_t *qline;
345 345
346 // re-assemble the full line by destination lines 346 // re-assemble the full line by destination lines
392 } 392 }
393 else 393 else
394#endif 394#endif
395 { 395 {
396 // wing, instead of wrap 396 // wing, instead of wrap
397 screen.cur.row += nrow - prev_nrow;
398
397 do 399 do
398 { 400 {
399 p = MOD (p - 1, prev_total_rows); 401 p = MOD (p - 1, prev_total_rows);
400 q--; 402 q--;
401 403
402 copy_line (row_buf [q], prev_row_buf [p]); 404 copy_line (row_buf [q], prev_row_buf [p]);
403 } 405 }
404 while (p != pend); 406 while (p != pend && q > 0);
405 } 407 }
406 408
407 term_start = total_rows - nrow; 409 term_start = total_rows - nrow;
408 top_row = q - term_start; 410 top_row = q - term_start;
409 411
413 415
414 clamp_it (screen.cur.row, 0, nrow - 1); 416 clamp_it (screen.cur.row, 0, nrow - 1);
415 clamp_it (screen.cur.col, 0, ncol - 1); 417 clamp_it (screen.cur.col, 0, ncol - 1);
416 } 418 }
417 419
420 // ensure drawn_buf, swap_buf and terminal rows are all initialized
418 for (int row = nrow; row--; ) 421 for (int row = nrow; row--; )
419 { 422 {
420 if (!ROW (row).valid ()) scr_blank_screen_mem (ROW (row), DEFAULT_RSTYLE); 423 if (!ROW (row).valid ()) scr_blank_screen_mem (ROW (row), DEFAULT_RSTYLE);
421 if (!swap_buf [row].valid ()) scr_blank_screen_mem (swap_buf [row], DEFAULT_RSTYLE); 424 if (!swap_buf [row].valid ()) scr_blank_screen_mem (swap_buf [row], DEFAULT_RSTYLE);
422 if (!drawn_buf [row].valid ()) scr_blank_screen_mem (drawn_buf [row], DEFAULT_RSTYLE); 425 if (!drawn_buf [row].valid ()) scr_blank_screen_mem (drawn_buf [row], DEFAULT_RSTYLE);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines