render: Fix bug in render_pager_draw_region().
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 14 Sep 2014 19:35:53 +0000 (12:35 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 14 Sep 2014 19:35:53 +0000 (12:35 -0700)
This bug, introduced in commit f1db96caae4 (ender: Fold caption drawing
into rendering engine.), could cause the title and body of a table to be
drawn overlapping.

src/output/render.c

index 84eef66795827dfa74f8ff59540823f0236bac1e..3ac603527e3a33fe73e3b72e068ac84c2eeba0a6 100644 (file)
@@ -1599,11 +1599,14 @@ render_pager_draw_region (const struct render_pager *p,
   for (i = 0; i < p->n_pages; i++)
     {
       const struct render_page *page = p->pages[i];
+      int size = render_page_get_size (page, V);
 
       clip[V][0] = MAX (y, ofs[V]) - ofs[V];
-      clip[V][1] = MIN (y + h, ofs[V] + render_page_get_size (page, V)) - ofs[V];
+      clip[V][1] = MIN (y + h, ofs[V] + size) - ofs[V];
       if (clip[V][1] > clip[V][0])
         render_page_draw_region (page, ofs, clip);
+
+      ofs[V] += size;
     }
 }