Skip to content

Commit 66f9f5f

Browse files
committed
Make sure prerendering doesn't try reaching past last page
Should fix #688
1 parent cf0efcb commit 66f9f5f

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

src/classes/view/pdf.vala

+16-6
Original file line numberDiff line numberDiff line change
@@ -159,15 +159,25 @@ namespace pdfpc {
159159
}
160160

161161
int last_slide;
162-
if (this.user_slides) {
162+
// negative number means prerender all
163+
if (Options.prerender_slides < 0) {
164+
last_slide = this.n_slides - 1;
165+
}
166+
else if (this.user_slides) {
163167
var user_slide = metadata.real_slide_to_user_slide(this.current_slide_number);
164168
var last_user_slide = user_slide + Options.prerender_slides;
165-
last_slide = metadata.user_slide_to_real_slide(last_user_slide, true);
169+
if (last_user_slide < metadata.get_user_slide_count()) {
170+
last_slide =
171+
metadata.user_slide_to_real_slide(last_user_slide, true);
172+
} else {
173+
last_slide = this.n_slides - 1;
174+
}
166175
} else {
167-
last_slide = this.current_slide_number + Options.prerender_slides;
168-
}
169-
if (last_slide >= this.n_slides) {
170-
last_slide = this.n_slides - 1;
176+
last_slide = this.current_slide_number +
177+
Options.prerender_slides;
178+
if (last_slide >= this.n_slides) {
179+
last_slide = this.n_slides - 1;
180+
}
171181
}
172182

173183
int width, height;

0 commit comments

Comments
 (0)