static void ev_load_job_done (EvJob *ev_job, gpointer user_data) { PdfLoadJob *job = user_data; if (ev_job_is_failed (ev_job) || (ev_job->document == NULL)) { if (job->from_old_cache) { pdf_load_job_force_refresh_cache (job); } else if (g_error_matches (ev_job->error, EV_DOCUMENT_ERROR, EV_DOCUMENT_ERROR_ENCRYPTED) && job->passwd != NULL && !job->passwd_tried) { /* EvJobLoad tries using the password only after the job has * failed once. */ ev_job_scheduler_push_job (ev_job, EV_JOB_PRIORITY_NONE); job->passwd_tried = TRUE; } else { pdf_load_job_complete_error (job, (ev_job->error != NULL) ? g_error_copy (ev_job->error) : g_error_new_literal (G_IO_ERROR, G_IO_ERROR_FAILED, _("Unable to load the document"))); } return; } job->document = g_object_ref (ev_job->document); pdf_load_job_complete_success (job); }
static void ev_load_job_done (EvJob *ev_job, gpointer user_data) { PdfLoadJob *job = user_data; if (ev_job_is_failed (ev_job) || (ev_job->document == NULL)) { if (job->from_old_cache) pdf_load_job_force_refresh_cache (job); else pdf_load_job_complete_error (job, (ev_job->error != NULL) ? g_error_copy (ev_job->error) : g_error_new_literal (G_IO_ERROR, G_IO_ERROR_FAILED, _("Unable to load the document"))); g_clear_object (&ev_job); return; } job->document = g_object_ref (ev_job->document); g_object_unref (ev_job); pdf_load_job_complete_success (job); }