… | |
… | |
632 | // erase newly scrolled-in lines |
632 | // erase newly scrolled-in lines |
633 | for (int i = count; i--; ) |
633 | for (int i = count; i--; ) |
634 | { |
634 | { |
635 | // basically this is a slightly optimized scr_blank_screen_mem |
635 | // basically this is a slightly optimized scr_blank_screen_mem |
636 | // it is worth the effort on slower machines |
636 | // it is worth the effort on slower machines |
637 | line_t &l = ROW(row2 - i); |
637 | line_t &l = ROW(nrow - 1 - i); |
638 | |
638 | |
639 | scr_blank_line (l, 0, l.l, rstyle); |
639 | scr_blank_line (l, 0, l.l, rstyle); |
640 | |
640 | |
641 | l.l = 0; |
641 | l.l = 0; |
642 | l.f = 0; |
642 | l.f = 0; |
… | |
… | |
2800 | * (+) if ownership is claimed but property is empty, rxvt_selection_paste () |
2800 | * (+) if ownership is claimed but property is empty, rxvt_selection_paste () |
2801 | * will auto fallback to CUT_BUFFER0 |
2801 | * will auto fallback to CUT_BUFFER0 |
2802 | * EXT: button 2 release |
2802 | * EXT: button 2 release |
2803 | */ |
2803 | */ |
2804 | void |
2804 | void |
2805 | rxvt_term::selection_request (Time tm, int x, int y) |
2805 | rxvt_term::selection_request (Time tm) |
2806 | { |
2806 | { |
2807 | if (x < 0 || x >= width || y < 0 || y >= height) |
|
|
2808 | return; /* outside window */ |
|
|
2809 | |
|
|
2810 | if (selection.text) |
2807 | if (selection.text) |
2811 | { /* internal selection */ |
2808 | { /* internal selection */ |
2812 | char *str = rxvt_wcstombs (selection.text, selection.len); |
2809 | char *str = rxvt_wcstombs (selection.text, selection.len); |
2813 | paste (str, strlen (str)); |
2810 | paste (str, strlen (str)); |
2814 | free (str); |
2811 | free (str); |