--- rxvt-unicode/src/screen.C 2006/01/18 11:07:30 1.237 +++ rxvt-unicode/src/screen.C 2006/01/19 17:14:46 1.239 @@ -327,6 +327,10 @@ int qcol = 0; + // see below for cursor adjustment rationale + if (p == ocur.row) + screen.cur.row = q - (total_rows - nrow); + // fill a single destination line while (lofs < llen && qcol < ncol) { @@ -391,11 +395,6 @@ term_start = 0; } -#ifdef DEBUG_STRICT //TODO: remove - for (int i = top_row; i < nrow; i++) - assert (ROW (i).t); -#endif - free (old_buf); delete old_ta; delete old_ra; @@ -2802,11 +2801,8 @@ * EXT: button 2 release */ void -rxvt_term::selection_request (Time tm, int x, int y) +rxvt_term::selection_request (Time tm) { - if (x < 0 || x >= width || y < 0 || y >= height) - return; /* outside window */ - if (selection.text) { /* internal selection */ char *str = rxvt_wcstombs (selection.text, selection.len);