X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=shell%2Fev-pixbuf-cache.c;h=0601de053422665b3e0266872cd1c8e166649d3a;hb=1ccae60a0df313211c8d2cf851d09a98d7eda1d6;hp=7200b37c4367982cf6e3952a295cb2b55b7a5148;hpb=e8096c18ba580156072e8c84103bee6f6d3f0bfc;p=evince.git diff --git a/shell/ev-pixbuf-cache.c b/shell/ev-pixbuf-cache.c index 7200b37c..0601de05 100644 --- a/shell/ev-pixbuf-cache.c +++ b/shell/ev-pixbuf-cache.c @@ -1,5 +1,6 @@ #include "ev-pixbuf-cache.h" #include "ev-job-queue.h" +#include "ev-page-cache.h" typedef struct _CacheJobInfo @@ -73,7 +74,7 @@ ev_pixbuf_cache_init (EvPixbufCache *pixbuf_cache) pixbuf_cache->end_page = 0; pixbuf_cache->job_list = g_new0 (CacheJobInfo, PAGE_CACHE_LEN (pixbuf_cache)); - pixbuf_cache->preload_cache_size = 1; + pixbuf_cache->preload_cache_size = 2; pixbuf_cache->prev_job = g_new0 (CacheJobInfo, pixbuf_cache->preload_cache_size); pixbuf_cache->next_job = g_new0 (CacheJobInfo, pixbuf_cache->preload_cache_size); } @@ -119,6 +120,7 @@ dispose_cache_job_info (CacheJobInfo *job_info, g_signal_handlers_disconnect_by_func (job_info->job, G_CALLBACK (job_finished_cb), data); + ev_job_queue_remove_job (job_info->job); g_object_unref (G_OBJECT (job_info->job)); job_info->job = NULL; } @@ -284,7 +286,7 @@ move_one_job (CacheJobInfo *job_info, job_info->link_mapping = NULL; if (new_priority != priority && target_page->job) { - g_print ("FIXME: update priority \n"); + ev_job_queue_update_job (target_page->job, new_priority); } } @@ -305,7 +307,7 @@ ev_pixbuf_cache_update_range (EvPixbufCache *pixbuf_cache, pixbuf_cache->end_page == end_page) return; - page_cache = ev_document_get_page_cache (pixbuf_cache->document); + page_cache = ev_page_cache_get (pixbuf_cache->document); new_job_list = g_new0 (CacheJobInfo, (end_page - start_page) + 1); new_prev_job = g_new0 (CacheJobInfo, pixbuf_cache->preload_cache_size); @@ -416,7 +418,7 @@ ev_pixbuf_cache_clear_job_sizes (EvPixbufCache *pixbuf_cache, EvPageCache *page_cache; int i; - page_cache = ev_document_get_page_cache (pixbuf_cache->document); + page_cache = ev_page_cache_get (pixbuf_cache->document); for (i = 0; i < PAGE_CACHE_LEN (pixbuf_cache); i++) { check_job_size_and_unref (pixbuf_cache->job_list + i, page_cache, scale); @@ -472,7 +474,7 @@ ev_pixbuf_cache_add_jobs_if_needed (EvPixbufCache *pixbuf_cache, int page; int i; - page_cache = ev_document_get_page_cache (pixbuf_cache->document); + page_cache = ev_page_cache_get (pixbuf_cache->document); for (i = 0; i < PAGE_CACHE_LEN (pixbuf_cache); i++) { job_info = (pixbuf_cache->job_list + i); @@ -513,7 +515,7 @@ ev_pixbuf_cache_set_page_range (EvPixbufCache *pixbuf_cache, g_return_if_fail (EV_IS_PIXBUF_CACHE (pixbuf_cache)); - page_cache = ev_document_get_page_cache (pixbuf_cache->document); + page_cache = ev_page_cache_get (pixbuf_cache->document); g_return_if_fail (start_page >= 0 && start_page < ev_page_cache_get_n_pages (page_cache)); g_return_if_fail (end_page >= 0 && end_page < ev_page_cache_get_n_pages (page_cache));