From bf325e9279324f02bcadc0145cd553ed94c23d2d Mon Sep 17 00:00:00 2001 From: Jonathan Blandford Date: Fri, 22 Apr 2005 03:39:52 +0000 Subject: actually remove the job. Thu Apr 21 23:37:52 2005 Jonathan Blandford * shell/ev-pixbuf-cache.c (dispose_cache_job_info): actually remove the job. * backend/ev-document.h: Remove EV_DOC_MUTEX in favor of a locking function. This helps debugging. --- (limited to 'backend') diff --git a/backend/ev-document.c b/backend/ev-document.c index 5df6e69..1b2f778 100644 --- a/backend/ev-document.c +++ b/backend/ev-document.c @@ -96,6 +96,19 @@ ev_document_get_doc_mutex (void) return ev_doc_mutex; } +void +ev_document_doc_mutex_lock (void) +{ + g_mutex_lock (ev_document_get_doc_mutex ()); +} + +void +ev_document_doc_mutex_unlock (void) +{ + g_mutex_unlock (ev_document_get_doc_mutex ()); +} + + gboolean ev_document_load (EvDocument *document, diff --git a/backend/ev-document.h b/backend/ev-document.h index 47a91ee..da38283 100644 --- a/backend/ev-document.h +++ b/backend/ev-document.h @@ -47,7 +47,8 @@ typedef struct _EvPageCacheClass EvPageCacheClass; #define EV_DOCUMENT_ERROR ev_document_error_quark () -#define EV_DOC_MUTEX (ev_document_get_doc_mutex ()) +#define EV_DOC_MUTEX_LOCK (ev_document_doc_mutex_lock ()) +#define EV_DOC_MUTEX_UNLOCK (ev_document_doc_mutex_unlock ()) typedef enum { @@ -96,6 +97,8 @@ GType ev_document_get_type (void); GQuark ev_document_error_quark (void); EvPageCache *ev_document_get_page_cache (EvDocument *document); GMutex *ev_document_get_doc_mutex (void); +void ev_document_doc_mutex_lock (void); +void ev_document_doc_mutex_unlock (void); EvDocumentInfo *ev_document_get_info (EvDocument *document); gboolean ev_document_load (EvDocument *document, const char *uri, diff --git a/backend/ev-jobs.c b/backend/ev-jobs.c index 0a5f69f..c4556c9 100644 --- a/backend/ev-jobs.c +++ b/backend/ev-jobs.c @@ -170,10 +170,10 @@ ev_job_links_run (EvJobLinks *job) { g_return_if_fail (EV_IS_JOB_LINKS (job)); - g_mutex_lock (EV_DOC_MUTEX); + ev_document_doc_mutex_lock (); job->model = ev_document_links_get_links_model (EV_DOCUMENT_LINKS (EV_JOB (job)->document)); EV_JOB (job)->finished = TRUE; - g_mutex_unlock (EV_DOC_MUTEX); + ev_document_doc_mutex_unlock (); } @@ -204,7 +204,7 @@ ev_job_render_run (EvJobRender *job) { g_return_if_fail (EV_IS_JOB_RENDER (job)); - g_mutex_lock (EV_DOC_MUTEX); + ev_document_doc_mutex_lock (); job->pixbuf = ev_document_render_pixbuf (EV_JOB (job)->document, job->page, @@ -212,8 +212,7 @@ ev_job_render_run (EvJobRender *job) if (job->include_links) job->link_mapping = ev_document_get_links (EV_JOB (job)->document, job->page); EV_JOB (job)->finished = TRUE; - - g_mutex_unlock (EV_DOC_MUTEX); + ev_document_doc_mutex_unlock (); } EvJob * @@ -237,7 +236,7 @@ ev_job_thumbnail_run (EvJobThumbnail *job) { g_return_if_fail (EV_IS_JOB_THUMBNAIL (job)); - g_mutex_lock (EV_DOC_MUTEX); + ev_document_doc_mutex_lock (); job->thumbnail = ev_document_thumbnails_get_thumbnail (EV_DOCUMENT_THUMBNAILS (EV_JOB (job)->document), @@ -246,5 +245,5 @@ ev_job_thumbnail_run (EvJobThumbnail *job) TRUE); EV_JOB (job)->finished = TRUE; - g_mutex_unlock (EV_DOC_MUTEX); + ev_document_doc_mutex_unlock (); } diff --git a/backend/ev-page-cache.c b/backend/ev-page-cache.c index 935347e..a6d7822 100644 --- a/backend/ev-page-cache.c +++ b/backend/ev-page-cache.c @@ -96,7 +96,7 @@ _ev_page_cache_new (EvDocument *document) page_cache = (EvPageCache *) g_object_new (EV_TYPE_PAGE_CACHE, NULL); - g_mutex_lock (EV_DOC_MUTEX); + ev_document_doc_mutex_lock (); /* We read page information out of the document */ @@ -152,7 +152,7 @@ _ev_page_cache_new (EvDocument *document) if (! page_cache->uniform) g_assert (page_cache->size_cache != NULL); - g_mutex_unlock (EV_DOC_MUTEX); + ev_document_doc_mutex_unlock (); if (page_cache->n_pages > 0) ev_page_cache_set_current_page (page_cache, 0); -- cgit v0.9.1