Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--djvu/djvu-document.c26
2 files changed, 23 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 75a90c4..d16b617 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-05-26 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+
+ * djvu/djvu-document.c:
+
+ Pop messages from djvu context message queue.
+
2005-05-24 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
* configure.ac, Makefile.am, shell/Makefile.am:
diff --git a/djvu/djvu-document.c b/djvu/djvu-document.c
index 72be474..aa853a7 100644
--- a/djvu/djvu-document.c
+++ b/djvu/djvu-document.c
@@ -81,9 +81,11 @@ djvu_document_load (EvDocument *document,
djvu_document->d_document = doc;
- while (!ddjvu_document_decoding_done (djvu_document->d_document))
- ddjvu_message_wait (djvu_document->d_context);
-
+ while (!ddjvu_document_decoding_done (djvu_document->d_document)) {
+ ddjvu_message_wait (djvu_document->d_context);
+ ddjvu_message_pop (djvu_document->d_context);
+ }
+
return TRUE;
}
@@ -121,8 +123,10 @@ djvu_document_get_page_size (EvDocument *document,
d_page = ddjvu_page_create_by_pageno (djvu_document->d_document, page);
- while (!ddjvu_page_decoding_done (d_page))
- ddjvu_message_wait (djvu_document->d_context);
+ while (!ddjvu_page_decoding_done (d_page)) {
+ ddjvu_message_wait (djvu_document->d_context);
+ ddjvu_message_pop (djvu_document->d_context);
+ }
if (width)
*width = ddjvu_page_get_width (d_page) * SCALE_FACTOR;
@@ -147,8 +151,10 @@ djvu_document_render_pixbuf (EvDocument *document,
d_page = ddjvu_page_create_by_pageno (djvu_document->d_document, page);
- while (!ddjvu_page_decoding_done (d_page))
- ddjvu_message_wait (djvu_document->d_context);
+ while (!ddjvu_page_decoding_done (d_page)) {
+ ddjvu_message_wait (djvu_document->d_context);
+ ddjvu_message_pop (djvu_document->d_context);
+ }
page_width = ddjvu_page_get_width (d_page) * scale * SCALE_FACTOR;
page_height = ddjvu_page_get_height (d_page) * scale * SCALE_FACTOR;
@@ -266,8 +272,10 @@ djvu_document_thumbnails_get_thumbnail (EvDocumentThumbnails *document,
pixels = gdk_pixbuf_get_pixels (pixbuf);
}
- while (ddjvu_thumbnail_status (djvu_document->d_document, page, 1) < DDJVU_JOB_OK)
- ddjvu_message_wait (djvu_document->d_context);
+ while (ddjvu_thumbnail_status (djvu_document->d_document, page, 1) < DDJVU_JOB_OK) {
+ ddjvu_message_wait (djvu_document->d_context);
+ ddjvu_message_pop (djvu_document->d_context);
+ }
ddjvu_thumbnail_render (djvu_document->d_document, page,
&thumb_width, &thumb_height,