From cb30d6d864d893468b405de7821be1e96cd13e94 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Sun, 10 Mar 2013 14:50:02 +0200 Subject: Table print: Ignore a dive instead of breaking the dive loop draw_table(): When get_dive_for_printing() returns NULL, instead of breaking, we should 'continue' trough the entire loop. Otherwise the paginate() handler will be called dive_table.nr times, until it returns TRUE. Fixes a bug where, for example one selected dive can end up allocating dive_table.nr pages for printing. Signed-off-by: Lubomir I. Ivanov Signed-off-by: Dirk Hohndel --- print.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/print.c b/print.c index 2d2476fef..61d4a9dc4 100644 --- a/print.c +++ b/print.c @@ -802,7 +802,7 @@ static void draw_table(GtkPrintOperation *operation, GtkPrintContext *context, g for (i = 0; i < dive_table.nr - nr; i++) { dive = get_dive_for_printing(nr+i); if (!dive) - break; + continue; /* Write the dive data and get the max. height of the row */ max_ext = show_dive_table(dive, cr, layout, w*2, delta_y / 4 / PANGO_SCALE, paginate); /* Draw a frame for each row */ -- cgit v1.2.3-70-g09d2