122 lines
4.6 KiB
Diff
122 lines
4.6 KiB
Diff
--- papers-48.7/meson.build
|
|
+++ papers-48.7/meson.build
|
|
@@ -140,7 +140,7 @@ po_dir = join_paths(source_root, 'po')
|
|
top_inc = include_directories('.')
|
|
|
|
glib_req_version = '>= 2.75.0'
|
|
-gtk_req_version = '>= 4.17.1'
|
|
+gtk_req_version = '>= 4.16.7'
|
|
libaw_req_version = '>= 1.6'
|
|
exempi_req_version = '>= 2.0'
|
|
|
|
@@ -270,7 +270,7 @@ elif get_option('djvu').auto()
|
|
endif
|
|
|
|
# *** PDF ***
|
|
-poppler_req_version = '>= 25.01.0'
|
|
+poppler_req_version = '>= 24.02.0'
|
|
poppler_glib_dep = dependency('poppler-glib', version: poppler_req_version, required: get_option('pdf'))
|
|
|
|
enable_pdf = poppler_glib_dep.found()
|
|
--- papers-48.7/shell/resources/meson.build
|
|
+++ papers-48.7/shell/resources/meson.build
|
|
@@ -11,6 +11,6 @@ papers_resources = gnome.compile_resourc
|
|
source_dir: [data_dir, data_build_dir],
|
|
dependencies: metainfo_file,
|
|
gresource_bundle: true,
|
|
-)[0]
|
|
+)
|
|
|
|
-config_h.set_quoted('RESOURCES_FILE', papers_resources.full_path())
|
|
+config_h.set_quoted('RESOURCES_FILE', papers_resources[0].full_path())
|
|
--- papers-48.7/libdocument/backend/pdf/pps-poppler.c
|
|
+++ papers-48.7/libdocument/backend/pdf/pps-poppler.c
|
|
@@ -4058,20 +4058,24 @@ pps_backend_query_type (void)
|
|
static PopplerCertificateInfo *
|
|
find_poppler_certificate_info (PpsCertificateInfo *certificate_info)
|
|
{
|
|
- g_autolist (PopplerCertificateInfo) signing_certificates = NULL;
|
|
+ GList *signing_certificates = poppler_get_available_signing_certificates ();
|
|
+ PopplerCertificateInfo *ret = NULL;
|
|
g_autofree char *certificate_id = NULL;
|
|
|
|
- signing_certificates = poppler_get_available_signing_certificates ();
|
|
g_object_get (certificate_info, "id", &certificate_id, NULL);
|
|
|
|
for (GList *list = signing_certificates; list != NULL && list->data != NULL; list = list->next) {
|
|
PopplerCertificateInfo *certificate_info = list->data;
|
|
|
|
- if (g_strcmp0 (certificate_id, poppler_certificate_info_get_id (certificate_info)) == 0)
|
|
- return poppler_certificate_info_copy (certificate_info);
|
|
+ if (g_strcmp0 (certificate_id, poppler_certificate_info_get_id (certificate_info)) == 0) {
|
|
+ ret = poppler_certificate_info_copy (certificate_info);
|
|
+ break;
|
|
+ }
|
|
}
|
|
|
|
- return NULL;
|
|
+ g_clear_list (&signing_certificates, (GDestroyNotify) poppler_certificate_info_free);
|
|
+
|
|
+ return ret;
|
|
}
|
|
|
|
static void
|
|
@@ -4098,8 +4102,8 @@ pdf_document_signatures_sign (PpsDocumen
|
|
gpointer user_data)
|
|
{
|
|
PdfDocument *self = PDF_DOCUMENT (document);
|
|
- g_autoptr (PopplerSigningData) signing_data = poppler_signing_data_new ();
|
|
- g_autoptr (PopplerCertificateInfo) cert_info = NULL;
|
|
+ PopplerSigningData *signing_data = poppler_signing_data_new ();
|
|
+ PopplerCertificateInfo *cert_info;
|
|
g_autoptr (PpsCertificateInfo) cinfo = NULL;
|
|
g_autoptr (GTask) task = NULL;
|
|
g_autofree gchar *uuid = NULL;
|
|
@@ -4212,7 +4216,7 @@ pdf_document_set_password_callback (PpsD
|
|
static GList *
|
|
pdf_document_get_available_signing_certificates (PpsDocumentSignatures *document)
|
|
{
|
|
- g_autolist (PopplerCertificateInfo) signing_certs = poppler_get_available_signing_certificates ();
|
|
+ GList *signing_certs = poppler_get_available_signing_certificates ();
|
|
GList *ev_certs = NULL;
|
|
|
|
for (GList *list = signing_certs; list != NULL && list->data != NULL; list = list->next) {
|
|
@@ -4225,6 +4229,8 @@ pdf_document_get_available_signing_certi
|
|
ev_certs = g_list_append (ev_certs, cert_info);
|
|
}
|
|
|
|
+ g_clear_list (&signing_certs, (GDestroyNotify) poppler_certificate_info_free);
|
|
+
|
|
return ev_certs;
|
|
}
|
|
|
|
@@ -4275,7 +4275,7 @@ pdf_document_signatures_get_signatures (
|
|
|
|
for (iter = signature_fields; iter != NULL; iter = iter->next) {
|
|
PopplerFormField *field = iter->data;
|
|
- g_autoptr (PopplerSignatureInfo) info = NULL;
|
|
+ PopplerSignatureInfo *info = NULL;
|
|
PpsSignature *signature = NULL;
|
|
PpsSignatureStatus signature_status;
|
|
PpsCertificateStatus certificate_status;
|
|
@@ -4291,8 +4291,10 @@ pdf_document_signatures_get_signatures (
|
|
POPPLER_SIGNATURE_VALIDATION_FLAG_USE_AIA_CERTIFICATE_FETCH,
|
|
NULL,
|
|
NULL);
|
|
- if (info == NULL || poppler_signature_info_get_certificate_info (info) == NULL)
|
|
+ if (info == NULL || poppler_signature_info_get_certificate_info (info) == NULL) {
|
|
+ poppler_signature_info_free (info);
|
|
continue;
|
|
+ }
|
|
|
|
switch (poppler_signature_info_get_signature_status (info)) {
|
|
case POPPLER_SIGNATURE_VALID:
|
|
@@ -4368,6 +4370,7 @@ pdf_document_signatures_get_signatures (
|
|
} else {
|
|
g_warning ("Could not get certificate info for a signature!");
|
|
}
|
|
+ poppler_signature_info_free (info);
|
|
}
|
|
|
|
g_clear_list (&signature_fields, g_object_unref);
|