static void
ev_page_cache_init (EvPageCache *page_cache)
{
- page_cache->current_page = 0;
+ page_cache->current_page = -1;
}
static void
page_cache->size_cache = g_new0 (EvPageCacheInfo, page_cache->n_pages);
- for (j = 1; j < i; j++) {
- info = &(page_cache->size_cache [j - 1]);
- info->width = page_width;
- info->height = page_height;
+ for (j = 0; j < i; j++) {
+ info = &(page_cache->size_cache [j]);
+ info->width = page_cache->uniform_width;
+ info->height = page_cache->uniform_height;
}
page_cache->uniform = FALSE;
}
if (! page_cache->uniform) {
- info = &(page_cache->size_cache [i - 1]);
+ info = &(page_cache->size_cache [i]);
info->width = page_width;
info->height = page_height;
}
/* make some sanity check assertions */
- g_assert (page_cache->n_pages > 0);
if (! page_cache->uniform)
g_assert (page_cache->size_cache != NULL);
- if (page_cache->uniform)
- g_assert (page_cache->uniform_width > 0 && page_cache->uniform_height > 0);
g_mutex_unlock (EV_DOC_MUTEX);
{
g_return_val_if_fail (EV_IS_PAGE_CACHE (page_cache), FALSE);
- if (page_cache->current_page > page_cache->n_pages)
+ if (page_cache->current_page >= page_cache->n_pages - 1)
return FALSE;
ev_page_cache_set_current_page (page_cache, page_cache->current_page + 1);