Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-jobs.c7
-rw-r--r--shell/ev-view.c4
-rw-r--r--shell/ev-window.c2
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