--- rxvt-unicode/src/screen.C 2006/01/16 06:37:52 1.233 +++ rxvt-unicode/src/screen.C 2006/01/16 08:57:02 1.234 @@ -619,8 +619,6 @@ { top_row = max (top_row - count, -saveLines); - HOOK_INVOKE ((this, HOOK_SCROLL_BACK, DT_INT, count, DT_INT, top_row, DT_END)); - // scroll everything up 'count' lines term_start = (term_start + count) % total_rows; @@ -677,6 +675,9 @@ && view_start != 0 && view_start != -saveLines) scr_page (UP, count); + + if (SHOULD_INVOKE (HOOK_SCROLL_BACK)) + HOOK_INVOKE ((this, HOOK_SCROLL_BACK, DT_INT, count, DT_INT, top_row, DT_END)); } else { @@ -1841,9 +1842,10 @@ num_scr += new_view_start - view_start; view_start = new_view_start; - HOOK_INVOKE ((this, HOOK_VIEW_CHANGE, DT_INT, view_start, DT_END)); want_refresh = 1; + HOOK_INVOKE ((this, HOOK_VIEW_CHANGE, DT_INT, view_start, DT_END)); + return true; }