… | |
… | |
549 | return; |
549 | return; |
550 | |
550 | |
551 | want_refresh = 1; |
551 | want_refresh = 1; |
552 | view_start = 0; |
552 | view_start = 0; |
553 | |
553 | |
554 | selection_check (2); /* check for boundary cross */ |
554 | /* check for boundary cross */ |
|
|
555 | row_col_t pos; |
|
|
556 | pos.row = pos.col = 0; |
|
|
557 | if (ROWCOL_IS_BEFORE (selection.beg, pos) |
|
|
558 | && ROWCOL_IS_AFTER (selection.end, pos)) |
|
|
559 | CLEAR_SELECTION (); |
555 | |
560 | |
556 | current_screen = scrn; |
561 | current_screen = scrn; |
557 | |
562 | |
558 | #if NSCREENS |
563 | #if NSCREENS |
559 | if (option (Opt_secondaryScreen)) |
564 | if (option (Opt_secondaryScreen)) |
… | |
… | |
1416 | |
1421 | |
1417 | want_refresh = 1; |
1422 | want_refresh = 1; |
1418 | ZERO_SCROLLBACK (); |
1423 | ZERO_SCROLLBACK (); |
1419 | |
1424 | |
1420 | num_scr_allow = 0; |
1425 | num_scr_allow = 0; |
1421 | selection_check (3); |
1426 | |
|
|
1427 | row_col_t pos; |
|
|
1428 | pos.row = pos.col = 0; |
|
|
1429 | if (ROWCOL_IS_AFTER (selection.end, pos)) |
|
|
1430 | CLEAR_SELECTION (); |
1422 | |
1431 | |
1423 | fs = SET_FONT (rstyle, FONTSET (rstyle)->find_font ('E')); |
1432 | fs = SET_FONT (rstyle, FONTSET (rstyle)->find_font ('E')); |
1424 | for (int row = nrow; row--; ) |
1433 | for (int row = nrow; row--; ) |
1425 | { |
1434 | { |
1426 | line_t &line = ROW(row); |
1435 | line_t &line = ROW(row); |
… | |
… | |
2691 | rxvt_term::selection_check (int check_more) NOTHROW |
2700 | rxvt_term::selection_check (int check_more) NOTHROW |
2692 | { |
2701 | { |
2693 | if (!selection.op) |
2702 | if (!selection.op) |
2694 | return; |
2703 | return; |
2695 | |
2704 | |
2696 | row_col_t pos; |
|
|
2697 | pos.row = pos.col = 0; |
|
|
2698 | |
|
|
2699 | if (!IN_RANGE_EXC (selection.beg.row, top_row, nrow) |
2705 | if (!IN_RANGE_EXC (selection.beg.row, top_row, nrow) |
2700 | || !IN_RANGE_EXC (selection.mark.row, top_row, nrow) |
2706 | || !IN_RANGE_EXC (selection.mark.row, top_row, nrow) |
2701 | || !IN_RANGE_EXC (selection.end.row, top_row, nrow) |
2707 | || !IN_RANGE_EXC (selection.end.row, top_row, nrow) |
2702 | || (check_more == 1 |
2708 | || (check_more == 1 |
2703 | && current_screen == selection.screen |
2709 | && current_screen == selection.screen |
2704 | && !ROWCOL_IS_BEFORE (screen.cur, selection.beg) |
2710 | && !ROWCOL_IS_BEFORE (screen.cur, selection.beg) |
2705 | && ROWCOL_IS_BEFORE (screen.cur, selection.end)) |
2711 | && ROWCOL_IS_BEFORE (screen.cur, selection.end))) |
2706 | || (check_more == 2 |
|
|
2707 | && ROWCOL_IS_BEFORE (selection.beg, pos) |
|
|
2708 | && ROWCOL_IS_AFTER (selection.end, pos)) |
|
|
2709 | || (check_more == 3 |
|
|
2710 | && ROWCOL_IS_AFTER (selection.end, pos))) |
|
|
2711 | CLEAR_ALL_SELECTION (); |
2712 | CLEAR_ALL_SELECTION (); |
2712 | } |
2713 | } |
2713 | |
2714 | |
2714 | /* ------------------------------------------------------------------------- */ |
2715 | /* ------------------------------------------------------------------------- */ |
2715 | /* |
2716 | /* |