From 6bd851c0948734f3f001e7ad75f1f43d08130833 Mon Sep 17 00:00:00 2001 From: Ali Gholami Rudi Date: Thu, 21 Jun 2012 18:31:36 +0430 Subject: [PATCH] djvulibre: ddjvu_page_render() may render pages with some delay Reported and tested by Sara Fauzia --- Makefile | 2 +- djvulibre.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index eaca2a8..d3b6351 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ fbpdf: fbpdf.o mupdf.o draw.o -ljbig2dec -ljpeg -lz -lopenjpeg -lm # djvu support fbdjvu: fbpdf.o djvulibre.o draw.o - $(CC) -o $@ $^ $(LDFLAGS) -ldjvulibre -ljpeg -lm -lstdc++ + $(CC) -o $@ $^ $(LDFLAGS) -ldjvulibre -ljpeg -lm -lstdc++ -lpthread # pdf support using poppler poppler.o: poppler.c diff --git a/djvulibre.c b/djvulibre.c index f6d180b..5d395bf 100644 --- a/djvulibre.c +++ b/djvulibre.c @@ -1,5 +1,6 @@ #include #include +#include #include #include "draw.h" #include "doc.h" @@ -29,10 +30,13 @@ static void djvu_render(ddjvu_page_t *page, int mode, void *bitmap, int cols, ddjvu_rect_t *prect, ddjvu_rect_t *rrect) { ddjvu_format_t *fmt; + int i = 0; fmt = ddjvu_format_create(DDJVU_FORMAT_GREY8, 0, 0); ddjvu_format_set_row_order(fmt, 1); - ddjvu_page_render(page, mode, prect, rrect, fmt, cols, bitmap); + while (i++ < 2 && !ddjvu_page_render(page, mode, prect, + rrect, fmt, cols, bitmap)) + usleep(100000); ddjvu_format_release(fmt); } -- 2.11.4.GIT