diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ev-jobs.c | 7 | ||||
-rw-r--r-- | shell/ev-view.c | 4 | ||||
-rw-r--r-- | shell/ev-window.c | 2 |
3 files changed, 10 insertions, 3 deletions
diff --git a/shell/ev-jobs.c b/shell/ev-jobs.c index 3657f65..e54812c 100644 --- a/shell/ev-jobs.c +++ b/shell/ev-jobs.c @@ -316,6 +316,8 @@ ev_job_render_run (EvJobRender *job) g_signal_connect (EV_JOB (job)->document, "render_finished", G_CALLBACK (render_finished_cb), job); } else { + ev_document_fc_mutex_lock (); + job->pixbuf = ev_document_render_pixbuf (EV_JOB (job)->document, job->rc); if (job->include_links && EV_IS_DOCUMENT_LINKS (EV_JOB (job)->document)) job->link_mapping = @@ -337,7 +339,8 @@ ev_job_render_run (EvJobRender *job) job->rc, &(job->selection_points)); } - + + ev_document_fc_mutex_unlock (); EV_JOB (job)->finished = TRUE; } @@ -406,7 +409,9 @@ ev_job_fonts_run (EvJobFonts *job) ev_document_doc_mutex_lock (); fonts = EV_DOCUMENT_FONTS (EV_JOB (job)->document); + ev_document_fc_mutex_lock (); job->scan_completed = !ev_document_fonts_scan (fonts, 20); + ev_document_fc_mutex_unlock (); EV_JOB (job)->finished = TRUE; diff --git a/shell/ev-view.c b/shell/ev-view.c index e8bcf0b..097c97b 100644 --- a/shell/ev-view.c +++ b/shell/ev-view.c @@ -2390,7 +2390,7 @@ draw_loading_text (EvView *view, const char *loading_text = _("Loading..."); - ev_document_doc_mutex_lock (); + ev_document_fc_mutex_lock (); layout = gtk_widget_create_pango_layout (GTK_WIDGET (view), loading_text); @@ -2423,7 +2423,7 @@ draw_loading_text (EvView *view, pango_font_description_free (font_desc); g_object_unref (layout); - ev_document_doc_mutex_unlock (); + ev_document_fc_mutex_unlock (); } static void diff --git a/shell/ev-window.c b/shell/ev-window.c index 19ad581..2aaff16 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -2086,7 +2086,9 @@ ev_window_cmd_file_properties (GtkAction *action, EvWindow *ev_window) GTK_WINDOW (ev_window)); } + ev_document_fc_mutex_lock (); gtk_widget_show (ev_window->priv->properties); + ev_document_fc_mutex_unlock (); } static void |