… | |
… | |
448 | scr_release (); |
448 | scr_release (); |
449 | prev_nrow = prev_ncol = 0; |
449 | prev_nrow = prev_ncol = 0; |
450 | scr_reset (); |
450 | scr_reset (); |
451 | |
451 | |
452 | scr_clear (true); |
452 | scr_clear (true); |
453 | scr_refresh (SLOW_REFRESH); |
453 | scr_refresh (); |
454 | } |
454 | } |
455 | |
455 | |
456 | /* ------------------------------------------------------------------------- * |
456 | /* ------------------------------------------------------------------------- * |
457 | * PROCESS SCREEN COMMANDS * |
457 | * PROCESS SCREEN COMMANDS * |
458 | * ------------------------------------------------------------------------- */ |
458 | * ------------------------------------------------------------------------- */ |
… | |
… | |
1790 | } |
1790 | } |
1791 | |
1791 | |
1792 | for (i = rc[PART_BEG].row; i <= rc[PART_END].row; i++) |
1792 | for (i = rc[PART_BEG].row; i <= rc[PART_END].row; i++) |
1793 | fill_text (&drawn_buf[i].t[rc[PART_BEG].col], 0, rc[PART_END].col - rc[PART_BEG].col + 1); |
1793 | fill_text (&drawn_buf[i].t[rc[PART_BEG].col], 0, rc[PART_END].col - rc[PART_BEG].col + 1); |
1794 | |
1794 | |
|
|
1795 | num_scr_allow = 0; |
|
|
1796 | |
1795 | if (refresh) |
1797 | if (refresh) |
1796 | scr_refresh (SLOW_REFRESH); |
1798 | scr_refresh (); |
1797 | } |
1799 | } |
1798 | |
1800 | |
1799 | /* ------------------------------------------------------------------------- */ |
1801 | /* ------------------------------------------------------------------------- */ |
1800 | /* |
1802 | /* |
1801 | * Refresh the entire screen |
1803 | * Refresh the entire screen |
… | |
… | |
1935 | * Refresh the screen |
1937 | * Refresh the screen |
1936 | * drawn_text/drawn_rend contain the screen information before the update. |
1938 | * drawn_text/drawn_rend contain the screen information before the update. |
1937 | * screen.text/screen.rend contain what the screen will change to. |
1939 | * screen.text/screen.rend contain what the screen will change to. |
1938 | */ |
1940 | */ |
1939 | void |
1941 | void |
1940 | rxvt_term::scr_refresh (unsigned char refresh_type) |
1942 | rxvt_term::scr_refresh () |
1941 | { |
1943 | { |
1942 | unsigned char must_clear, /* use draw_string not draw_image_string */ |
1944 | unsigned char must_clear, /* use draw_string not draw_image_string */ |
1943 | showcursor; /* show the cursor */ |
1945 | showcursor; /* show the cursor */ |
1944 | int16_t col, row, /* column/row we're processing */ |
1946 | int16_t col, row, /* column/row we're processing */ |
1945 | ocrow; /* old cursor row */ |
1947 | ocrow; /* old cursor row */ |
… | |
… | |
2069 | #ifndef NO_SLOW_LINK_SUPPORT |
2071 | #ifndef NO_SLOW_LINK_SUPPORT |
2070 | /* |
2072 | /* |
2071 | * D: CopyArea pass - very useful for slower links |
2073 | * D: CopyArea pass - very useful for slower links |
2072 | * This has been deliberately kept simple. |
2074 | * This has been deliberately kept simple. |
2073 | */ |
2075 | */ |
2074 | i = num_scr; |
|
|
2075 | if (!display->is_local |
2076 | if (!display->is_local |
2076 | && refresh_type == FAST_REFRESH && num_scr_allow && num_scr |
2077 | && refresh_type == FAST_REFRESH && num_scr_allow && num_scr |
2077 | && abs (num_scr) < nrow && !must_clear) |
2078 | && abs (num_scr) < nrow && !must_clear) |
2078 | { |
2079 | { |
2079 | int16_t nits; |
2080 | int16_t nits; |
2080 | int j; |
2081 | int j; |
2081 | int len, wlen; |
2082 | int len, wlen; |
|
|
2083 | dLocal (int, num_scr); |
2082 | |
2084 | |
2083 | j = nrow; |
2085 | j = nrow; |
2084 | wlen = len = -1; |
2086 | wlen = len = -1; |
2085 | row = i > 0 ? 0 : j - 1; |
2087 | row = i > 0 ? 0 : j - 1; |
2086 | for (; j-- >= 0; row += (i > 0 ? 1 : -1)) |
2088 | for (; j-- >= 0; row += (i > 0 ? 1 : -1)) |