-
- if (get_page_extents (view, i, &page_area, &border)) {
- GdkRectangle overlap;
-
- if (gdk_rectangle_intersect (&page_area, view_rect, &overlap)) {
- EvViewSelection *selection;
-
- if (first_selection == NULL) {
- first_selection = g_new0 (EvViewSelection, 1);
- selection = first_selection;
- } else if (last_selection == NULL) {
- last_selection = g_new0 (EvViewSelection, 1);
- selection = last_selection;
- } else {
- selection = last_selection;
- }
-
- selection->page = i;
- view_rect_to_doc_rect (view, &overlap, &page_area,
- &(selection->rect));
- }
+
+ get_page_extents (view, i, &page_area, &border);
+ if (gdk_rectangle_point_in (&page_area, start) ||
+ gdk_rectangle_point_in (&page_area, stop)) {
+ if (first == n_pages)
+ first = i;
+ last = i;