Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package zathura-plugin-pdf-poppler for
openSUSE:Factory checked in at 2026-05-29 18:11:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zathura-plugin-pdf-poppler (Old)
and /work/SRC/openSUSE:Factory/.zathura-plugin-pdf-poppler.new.1937 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "zathura-plugin-pdf-poppler"
Fri May 29 18:11:03 2026 rev:12 rq:1355837 version:2026.05.10
Changes:
--------
---
/work/SRC/openSUSE:Factory/zathura-plugin-pdf-poppler/zathura-plugin-pdf-poppler.changes
2024-08-13 13:24:01.588202451 +0200
+++
/work/SRC/openSUSE:Factory/.zathura-plugin-pdf-poppler.new.1937/zathura-plugin-pdf-poppler.changes
2026-05-29 18:12:40.808318641 +0200
@@ -1,0 +2,18 @@
+Fri May 29 09:02:49 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Cleanup spec file with spec-cleaner
+
+-------------------------------------------------------------------
+Wed May 27 05:46:25 UTC 2026 - Андрей Алыпов <[email protected]>
+
+- Update to version 2026.05.10:
+ * Various bug fixes and improvements
+- Added zathura-pdf-poppler.keyring
+- Updates from version 2026.02.03:
+ * Update for changes in girara
+- Updates from version 2026.01.30:
+ * Various bug fixes and improvements
+- Updates from version 0.3.4:
+ * Various bug fixes and improvements
+
+-------------------------------------------------------------------
Old:
----
zathura-pdf-poppler-0.3.3.tar.xz
New:
----
zathura-pdf-poppler-2026.05.10.tar.xz
zathura-pdf-poppler-2026.05.10.tar.xz.asc
zathura-pdf-poppler.keyring
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ zathura-plugin-pdf-poppler.spec ++++++
--- /var/tmp/diff_new_pack.Ot9d05/_old 2026-05-29 18:12:41.944365908 +0200
+++ /var/tmp/diff_new_pack.Ot9d05/_new 2026-05-29 18:12:41.944365908 +0200
@@ -1,7 +1,7 @@
#
# spec file for package zathura-plugin-pdf-poppler
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,36 +17,50 @@
%define realname zathura-pdf-poppler
+%if 0%{?suse_version} == 1600
+%bcond_without gcc15
+%endif
Name: zathura-plugin-pdf-poppler
-Version: 0.3.3
+Version: 2026.05.10
Release: 0
Summary: PDF support for zathura via poppler
License: Zlib
-Group: Productivity/Office/Other
-URL: https://pwmt.org/projects/%{realname}/
-Source:
https://pwmt.org/projects/%{realname}/download/%{realname}-%{version}.tar.xz
-BuildRequires: meson
+URL: https://pwmt.org/projects/%{realname}
+Source0: %{url}/download/%{realname}-%{version}.tar.xz
+Source1: %{url}/download/%{realname}-%{version}.tar.xz.asc
+Source2: %{realname}.keyring
+BuildRequires: AppStream
+BuildRequires: c_compiler
+BuildRequires: desktop-file-utils
+BuildRequires: meson >= 1.5
BuildRequires: pkgconfig
-BuildRequires: pkgconfig(cairo)
-BuildRequires: pkgconfig(girara-gtk3)
+BuildRequires: pkgconfig(girara)
+BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(poppler-glib) >= 21.12
-BuildRequires: pkgconfig(zathura) >= 0.5.3
-Requires: zathura >= 0.5.3
-Provides: zathura-pdf-poppler-plugin
+BuildRequires: pkgconfig(zathura) >= 2026.01.30
+Requires: zathura >= 2026.01.30
+Provides: %{realname}-plugin
+%if %{with gcc15}
+BuildRequires: gcc15
+%endif
%description
-The zathura-pdf-poppler plugin adds PDF support to zathura by using the
poppler rendering engine.
+The zathura-pdf-poppler plugin adds PDF support to zathura by using the
+poppler rendering engine.
%prep
-%setup -q -n %{realname}-%{version}
+%autosetup -p1 -n %{realname}-%{version}
%build
-export CFLAGS="%{optflags}"
-%meson -Dtests=disabled
+%{?with_gcc15:export CC=gcc-15}
+%meson
%meson_build
%install
%meson_install
+
+%check
+%meson_test
find %{buildroot} -name '*.desktop' -delete -print
%files -n %{name}
@@ -54,5 +68,5 @@
%doc AUTHORS
%dir %{_libdir}/zathura
%{_libdir}/zathura/libpdf-poppler.so
-%{_datadir}/metainfo/org.pwmt.zathura-pdf-poppler.metainfo.xml
+%{_datadir}/metainfo/org.pwmt.%{realname}.metainfo.xml
++++++ zathura-pdf-poppler-0.3.3.tar.xz ->
zathura-pdf-poppler-2026.05.10.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zathura-pdf-poppler-0.3.3/.github/dependabot.yml
new/zathura-pdf-poppler-2026.05.10/.github/dependabot.yml
--- old/zathura-pdf-poppler-0.3.3/.github/dependabot.yml 1970-01-01
01:00:00.000000000 +0100
+++ new/zathura-pdf-poppler-2026.05.10/.github/dependabot.yml 2026-05-10
13:44:11.000000000 +0200
@@ -0,0 +1,6 @@
+version: 2
+updates:
+- package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "daily"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/.github/workflows/build.yaml
new/zathura-pdf-poppler-2026.05.10/.github/workflows/build.yaml
--- old/zathura-pdf-poppler-0.3.3/.github/workflows/build.yaml 1970-01-01
01:00:00.000000000 +0100
+++ new/zathura-pdf-poppler-2026.05.10/.github/workflows/build.yaml
2026-05-10 13:44:11.000000000 +0200
@@ -0,0 +1,193 @@
+name: CI
+
+on:
+ push:
+ pull_request:
+
+env:
+ VERBOSE: 1
+
+jobs:
+ clang-format:
+ name: Check clang-format output
+ runs-on: ubuntu-latest
+ container:
+ image: ghcr.io/pwmt/github-actions-debian:forky
+ credentials:
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ steps:
+ - uses: actions/checkout@v6
+ - uses: actions/checkout@v6
+ with:
+ repository: pwmt/girara
+ path: girara
+ - name: Install girara
+ run: |
+ mkdir girara/build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu girara/build
girara
+ ninja --verbose -C girara/build install
+ rm -rf girara
+ - uses: actions/checkout@v6
+ with:
+ repository: pwmt/zathura
+ path: zathura
+ - name: Install zathura
+ run: |
+ mkdir zathura/build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu
zathura/build zathura
+ ninja --verbose -C zathura/build install
+ rm -rf zathura
+ - name: Build and test
+ run: |
+ mkdir build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu build .
+ ninja -C build clang-format-check
+
+ build-test-debian-trixie:
+ name: Test on Debian trixie
+ runs-on: ubuntu-latest
+ container:
+ image: ghcr.io/pwmt/github-actions-debian:trixie
+ credentials:
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ steps:
+ - uses: actions/checkout@v6
+ - uses: actions/checkout@v6
+ with:
+ repository: pwmt/girara
+ path: girara
+ - name: Install girara
+ run: |
+ mkdir girara/build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu girara/build
girara
+ ninja --verbose -C girara/build install
+ rm -rf girara
+ - uses: actions/checkout@v6
+ with:
+ repository: pwmt/zathura
+ path: zathura
+ - name: Install zathura
+ run: |
+ mkdir zathura/build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu
zathura/build zathura
+ ninja --verbose -C zathura/build install
+ rm -rf zathura
+ - name: Build and test
+ run: |
+ mkdir build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu build .
+ ninja -C build --verbose
+ ninja -C build test --verbose
+
+ build-test-debian-forky:
+ name: Test on Debian forky
+ runs-on: ubuntu-latest
+ container:
+ image: ghcr.io/pwmt/github-actions-debian:forky
+ credentials:
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ steps:
+ - uses: actions/checkout@v6
+ - uses: actions/checkout@v6
+ with:
+ repository: pwmt/girara
+ path: girara
+ - name: Install girara
+ run: |
+ mkdir girara/build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu girara/build
girara
+ ninja --verbose -C girara/build install
+ rm -rf girara
+ - uses: actions/checkout@v6
+ with:
+ repository: pwmt/zathura
+ path: zathura
+ - name: Install zathura
+ run: |
+ mkdir zathura/build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu
zathura/build zathura
+ ninja --verbose -C zathura/build install
+ rm -rf zathura
+ - name: Build and test
+ run: |
+ mkdir build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu build .
+ ninja -C build --verbose
+ ninja -C build test --verbose
+
+ build-test-ubuntu-resolute:
+ name: Test on Ubuntu resolute
+ runs-on: ubuntu-latest
+ container:
+ image: ghcr.io/pwmt/github-actions-ubuntu:resolute
+ credentials:
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ steps:
+ - uses: actions/checkout@v6
+ - uses: actions/checkout@v6
+ with:
+ repository: pwmt/girara
+ path: girara
+ - name: Install girara
+ run: |
+ mkdir girara/build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu girara/build
girara
+ ninja --verbose -C girara/build install
+ rm -rf girara
+ - uses: actions/checkout@v6
+ with:
+ repository: pwmt/zathura
+ path: zathura
+ - name: Install zathura
+ run: |
+ mkdir zathura/build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu
zathura/build zathura
+ ninja --verbose -C zathura/build install
+ rm -rf zathura
+ - name: Build and test
+ run: |
+ mkdir build
+ meson setup --prefix /usr --libdir=lib/x86_64-linux-gnu build .
+ ninja -C build --verbose
+ ninja -C build test --verbose
+
+ build-test-archlinux:
+ name: Test on Archlinux
+ runs-on: ubuntu-latest
+ container:
+ image: ghcr.io/pwmt/github-actions-archlinux:latest
+ credentials:
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ steps:
+ - uses: actions/checkout@v6
+ - uses: actions/checkout@v6
+ with:
+ repository: pwmt/girara
+ path: girara
+ - name: Install girara
+ run: |
+ mkdir girara/build
+ meson setup --prefix /usr girara/build girara
+ ninja --verbose -C girara/build install
+ rm -rf girara
+ - uses: actions/checkout@v6
+ with:
+ repository: pwmt/zathura
+ path: zathura
+ - name: Install zathura
+ run: |
+ mkdir zathura/build
+ meson setup --prefix /usr zathura/build zathura
+ ninja --verbose -C zathura/build install
+ rm -rf zathura
+ - name: Build and test
+ run: |
+ mkdir build
+ meson setup --prefix /usr build .
+ ninja -C build --verbose
+ ninja -C build test --verbose
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zathura-pdf-poppler-0.3.3/README.md
new/zathura-pdf-poppler-2026.05.10/README.md
--- old/zathura-pdf-poppler-0.3.3/README.md 2024-08-04 10:38:51.000000000
+0200
+++ new/zathura-pdf-poppler-2026.05.10/README.md 2026-05-10
13:44:11.000000000 +0200
@@ -10,7 +10,7 @@
The following dependencies are required:
-* `zathura` (>= 0.5.3)
+* `zathura` (>= 2026.01.30)
* `girara`
* `poppler-glib` (>= 21.12)
@@ -24,7 +24,7 @@
ninja
ninja install
-Note that the default backend for meson might vary based on the platform.
Please
+> **Note:** The default backend for meson might vary based on the platform.
Please
refer to the meson documentation for platform specific dependencies.
Bugs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zathura-pdf-poppler-0.3.3/data/meson.build
new/zathura-pdf-poppler-2026.05.10/data/meson.build
--- old/zathura-pdf-poppler-0.3.3/data/meson.build 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/data/meson.build 2026-05-10
13:44:11.000000000 +0200
@@ -9,10 +9,10 @@
)
endif
-appstream_util = find_program('appstream-util', required: get_option('tests'),
native: true)
+appstream_util = find_program('appstreamcli', required: get_option('tests'),
native: true)
if appstream_util.found()
test('validate-appdata',
appstream_util,
- args: ['validate-relax', '--nonet', join_paths(meson.current_source_dir(),
'org.pwmt.zathura-pdf-poppler.metainfo.xml')]
+ args: ['validate', '--no-net', join_paths(meson.current_source_dir(),
'org.pwmt.zathura-pdf-poppler.metainfo.xml')]
)
endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/data/org.pwmt.zathura-pdf-poppler.metainfo.xml
new/zathura-pdf-poppler-2026.05.10/data/org.pwmt.zathura-pdf-poppler.metainfo.xml
---
old/zathura-pdf-poppler-0.3.3/data/org.pwmt.zathura-pdf-poppler.metainfo.xml
2024-08-04 10:38:51.000000000 +0200
+++
new/zathura-pdf-poppler-2026.05.10/data/org.pwmt.zathura-pdf-poppler.metainfo.xml
2026-05-10 13:44:11.000000000 +0200
@@ -4,9 +4,22 @@
<id>org.pwmt.zathura-pdf-poppler</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>Zlib</project_license>
+ <developer id="org.pwmt">
+ <name>pwmt</name>
+ </developer>
<extends>org.pwmt.zathura</extends>
<name>Zathura-PDF-Poppler</name>
<summary>PDF plugin for zathura based on Poppler</summary>
<url type="homepage">https://pwmt.org/projects/zathura-pdf-poppler/</url>
- <update_contact>[email protected]</update_contact>
+ <url
type="bugtracker">https://github.com/pwmt/zathura-pdf-poppler/issues</url>
+ <url type="donation">https://pwmt.org/help/donate</url>
+ <url type="contact">https://pwmt.org/contact</url>
+ <url type="vcs-browser">https://github.com/pwmt/zathura-pdf-poppler</url>
+ <releases>
+ <release version="2026.05.10" date="2026-05-10" />
+ <release version="2026.02.03" date="2026-02-03" />
+ <release version="2026.01.30" date="2026-01-30" />
+ <release version="0.3.4" date="2025-10-28" />
+ <release version="0.3.3" date="2024-08-04" />
+ </releases>
</component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zathura-pdf-poppler-0.3.3/meson.build
new/zathura-pdf-poppler-2026.05.10/meson.build
--- old/zathura-pdf-poppler-0.3.3/meson.build 2024-08-04 10:38:51.000000000
+0200
+++ new/zathura-pdf-poppler-2026.05.10/meson.build 2026-05-10
13:44:11.000000000 +0200
@@ -1,7 +1,7 @@
project('zathura-pdf-poppler', 'c',
- version: '0.3.3',
+ version: '2026.05.10',
meson_version: '>=0.61',
- default_options: ['c_std=c17', 'warning_level=3']
+ default_options: ['c_std=c23', 'warning_level=3']
)
version = meson.project_version()
@@ -15,20 +15,15 @@
desktopdir = join_paths(datadir, 'applications')
# required dependencies
-zathura = dependency('zathura', version: '>=0.5.3', fallback: ['zathura',
'zathura_dependency'])
-girara = dependency('girara-gtk3', fallback: ['girara', 'girara_dependency'])
+zathura = dependency('zathura', version: '>=2026.01.30')
+girara = dependency('girara')
glib = dependency('glib-2.0')
poppler = dependency('poppler-glib', version: '>=21.12')
build_dependencies = [zathura, girara, glib, poppler]
if get_option('plugindir') == ''
- if zathura.type_name() == 'pkgconfig'
- plugindir = zathura.get_variable(pkgconfig: 'plugindir')
- else
- zathura_subproject = subproject('zathura')
- plugindir = zathura_subproject.get_variable('plugindir')
- endif
+ plugindir = zathura.get_variable(pkgconfig: 'plugindir')
else
plugindir = get_option('plugindir')
endif
@@ -45,13 +40,14 @@
flags = [
'-Werror=implicit-function-declaration',
'-Werror=vla',
+ '-Werror=int-conversion',
+ '-Werror=maybe-uninitialized'
]
flags = cc.get_supported_arguments(flags)
sources = files(
'zathura-pdf-poppler/attachments.c',
'zathura-pdf-poppler/document.c',
- 'zathura-pdf-poppler/forms.c',
'zathura-pdf-poppler/image.c',
'zathura-pdf-poppler/index.c',
'zathura-pdf-poppler/links.c',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zathura-pdf-poppler-0.3.3/subprojects/girara.wrap
new/zathura-pdf-poppler-2026.05.10/subprojects/girara.wrap
--- old/zathura-pdf-poppler-0.3.3/subprojects/girara.wrap 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/subprojects/girara.wrap 1970-01-01
01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-[wrap-git]
-directory=girara
-url=https://git.pwmt.org/pwmt/girara.git
-revision=develop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zathura-pdf-poppler-0.3.3/subprojects/zathura.wrap
new/zathura-pdf-poppler-2026.05.10/subprojects/zathura.wrap
--- old/zathura-pdf-poppler-0.3.3/subprojects/zathura.wrap 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/subprojects/zathura.wrap 1970-01-01
01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-[wrap-git]
-directory=zathura
-url=https://git.pwmt.org/pwmt/zathura.git
-revision=develop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/attachments.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/attachments.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/attachments.c
2024-08-04 10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/attachments.c
2026-05-10 13:44:11.000000000 +0200
@@ -1,31 +1,25 @@
/* SPDX-License-Identifier: Zlib */
+#include <girara/log.h>
#include <girara/utils.h>
#include "plugin.h"
girara_list_t* pdf_document_attachments_get(zathura_document_t* document,
void* data, zathura_error_t* error) {
if (document == NULL || data == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_INVALID_ARGUMENTS;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
return NULL;
}
PopplerDocument* poppler_document = data;
if (poppler_document_has_attachments(poppler_document) == FALSE) {
girara_warning("PDF file has no attachments");
- if (error != NULL) {
- *error = ZATHURA_ERROR_UNKNOWN;
- }
return NULL;
}
- girara_list_t* res =
girara_sorted_list_new2((girara_compare_function_t)g_strcmp0, g_free);
+ girara_list_t* res =
girara_sorted_list_new_with_free((girara_compare_function_t)g_strcmp0, g_free);
if (res == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_OUT_OF_MEMORY;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
return NULL;
}
@@ -34,6 +28,7 @@
PopplerAttachment* attachment = (PopplerAttachment*)attachments->data;
girara_list_append(res, g_strdup(attachment->name));
}
+ g_list_free_full(attachment_list, g_object_unref);
return res;
}
@@ -50,6 +45,7 @@
return ZATHURA_ERROR_INVALID_ARGUMENTS;
}
+ zathura_error_t ret = ZATHURA_ERROR_OK;
GList* attachment_list = poppler_document_get_attachments(poppler_document);
for (GList* attachments = attachment_list; attachments != NULL; attachments
= g_list_next(attachments)) {
PopplerAttachment* attachment = (PopplerAttachment*)attachments->data;
@@ -57,8 +53,10 @@
continue;
}
- return poppler_attachment_save(attachment, file, NULL);
+ ret = poppler_attachment_save(attachment, file, NULL) ? ZATHURA_ERROR_OK :
ZATHURA_ERROR_UNKNOWN;
+ break;
}
- return ZATHURA_ERROR_OK;
+ g_list_free_full(attachment_list, g_object_unref);
+ return ret;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/document.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/document.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/document.c
2024-08-04 10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/document.c
2026-05-10 13:44:11.000000000 +0200
@@ -8,48 +8,29 @@
return ZATHURA_ERROR_INVALID_ARGUMENTS;
}
- zathura_error_t error = ZATHURA_ERROR_OK;
-
/* format path */
- GError* gerror = NULL;
- char* file_uri = g_filename_to_uri(zathura_document_get_path(document),
NULL, NULL);
+ g_autofree char* file_uri =
g_filename_to_uri(zathura_document_get_path(document), NULL, NULL);
if (file_uri == NULL) {
- error = ZATHURA_ERROR_UNKNOWN;
- goto error_free;
+ return ZATHURA_ERROR_UNKNOWN;
}
+ g_autoptr(GError) gerror = NULL;
PopplerDocument* poppler_document =
poppler_document_new_from_file(file_uri,
zathura_document_get_password(document), &gerror);
if (poppler_document == NULL) {
if (gerror != NULL && gerror->code == POPPLER_ERROR_ENCRYPTED) {
- error = ZATHURA_ERROR_INVALID_PASSWORD;
+ return ZATHURA_ERROR_INVALID_PASSWORD;
} else {
- error = ZATHURA_ERROR_UNKNOWN;
+ return ZATHURA_ERROR_UNKNOWN;
}
- goto error_free;
}
zathura_document_set_data(document, poppler_document);
-
zathura_document_set_number_of_pages(document,
poppler_document_get_n_pages(poppler_document));
- g_free(file_uri);
-
return ZATHURA_ERROR_OK;
-
-error_free:
-
- if (gerror != NULL) {
- g_error_free(gerror);
- }
-
- if (file_uri != NULL) {
- g_free(file_uri);
- }
-
- return error;
}
zathura_error_t pdf_document_free(zathura_document_t* document, void* data) {
@@ -72,7 +53,7 @@
}
/* format path */
- char* file_uri = g_filename_to_uri(path, NULL, NULL);
+ g_autofree char* file_uri = g_filename_to_uri(path, NULL, NULL);
if (file_uri == NULL) {
return ZATHURA_ERROR_UNKNOWN;
}
@@ -80,7 +61,5 @@
PopplerDocument* poppler_document = data;
const gboolean ret = poppler_document_save(poppler_document, file_uri, NULL);
- g_free(file_uri);
-
return (ret == TRUE ? ZATHURA_ERROR_OK : ZATHURA_ERROR_UNKNOWN);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/forms.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/forms.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/forms.c 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/forms.c
1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-/* SPDX-License-Identifier: Zlib */
-
-#include "plugin.h"
-
-girara_list_t* pdf_page_form_fields_get(zathura_page_t* UNUSED(page), void*
UNUSED(poppler_page),
- zathura_error_t* error) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_NOT_IMPLEMENTED;
- }
- return NULL;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/image.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/image.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/image.c 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/image.c
2026-05-10 13:44:11.000000000 +0200
@@ -13,10 +13,8 @@
girara_list_t* pdf_page_images_get(zathura_page_t* page, void* data,
zathura_error_t* error) {
if (page == NULL || data == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_INVALID_ARGUMENTS;
- }
- goto error_ret;
+ zathura_check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
+ return NULL;
}
girara_list_t* list = NULL;
@@ -25,29 +23,32 @@
PopplerPage* poppler_page = data;
image_mapping = poppler_page_get_image_mapping(poppler_page);
if (image_mapping == NULL || g_list_length(image_mapping) == 0) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_UNKNOWN;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_UNKNOWN);
goto error_free;
}
- list = girara_list_new();
+ list = girara_list_new_with_free(pdf_zathura_image_free);
if (list == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_OUT_OF_MEMORY;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
goto error_free;
}
- girara_list_set_free_function(list, pdf_zathura_image_free);
-
for (GList* image = image_mapping; image != NULL; image =
g_list_next(image)) {
- zathura_image_t* zathura_image = g_malloc0(sizeof(zathura_image_t));
+ zathura_image_t* zathura_image = g_try_malloc0(sizeof(zathura_image_t));
+ if (zathura_image == NULL) {
+ zathura_check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
+ goto error_free;
+ }
PopplerImageMapping* poppler_image = (PopplerImageMapping*)image->data;
/* extract id */
- zathura_image->data = g_malloc(sizeof(gint));
+ zathura_image->data = g_try_malloc(sizeof(gint));
+ if (zathura_image->data == NULL) {
+ zathura_check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
+ g_free(zathura_image);
+ goto error_free;
+ }
gint* image_id = zathura_image->data;
*image_id = poppler_image->image_id;
@@ -66,7 +67,6 @@
return list;
error_free:
-
if (list != NULL) {
girara_list_free(list);
}
@@ -75,18 +75,14 @@
poppler_page_free_image_mapping(image_mapping);
}
-error_ret:
-
return NULL;
}
cairo_surface_t* pdf_page_image_get_cairo(zathura_page_t* page, void* data,
zathura_image_t* image,
zathura_error_t* error) {
if (page == NULL || data == NULL || image == NULL || image->data == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_INVALID_ARGUMENTS;
- }
- goto error_ret;
+ zathura_check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
+ return NULL;
}
gint* image_id = (gint*)image->data;
@@ -94,15 +90,9 @@
PopplerPage* poppler_page = data;
cairo_surface_t* surface = poppler_page_get_image(poppler_page, *image_id);
if (surface == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_UNKNOWN;
- }
- goto error_ret;
+ zathura_check_set_error(error, ZATHURA_ERROR_UNKNOWN);
+ return NULL;
}
return surface;
-
-error_ret:
-
- return NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/index.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/index.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/index.c 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/index.c
2026-05-10 13:44:11.000000000 +0200
@@ -7,9 +7,7 @@
girara_tree_node_t* pdf_document_index_generate(zathura_document_t* document,
void* data, zathura_error_t* error) {
if (document == NULL || data == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_INVALID_ARGUMENTS;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
return NULL;
}
@@ -17,9 +15,7 @@
PopplerIndexIter* iter = poppler_index_iter_new(poppler_document);
if (iter == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_OUT_OF_MEMORY;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
return NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/links.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/links.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/links.c 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/links.c
2026-05-10 13:44:11.000000000 +0200
@@ -5,9 +5,7 @@
girara_list_t* pdf_page_links_get(zathura_page_t* page, void* data,
zathura_error_t* error) {
if (page == NULL || data == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_INVALID_ARGUMENTS;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
goto error_ret;
}
@@ -17,18 +15,14 @@
link_mapping = poppler_page_get_link_mapping(poppler_page);
if (link_mapping == NULL || g_list_length(link_mapping) == 0) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_UNKNOWN;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_UNKNOWN);
goto error_free;
}
link_mapping = g_list_reverse(link_mapping);
- list = girara_list_new2((girara_free_function_t)zathura_link_free);
+ list = girara_list_new_with_free((girara_free_function_t)zathura_link_free);
if (list == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_OUT_OF_MEMORY;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
goto error_free;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/meta.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/meta.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/meta.c 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/meta.c
2026-05-10 13:44:11.000000000 +0200
@@ -8,15 +8,14 @@
girara_list_t* pdf_document_get_information(zathura_document_t* document,
void* data, zathura_error_t* error) {
if (document == NULL || data == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_INVALID_ARGUMENTS;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
return NULL;
}
PopplerDocument* poppler_document = data;
girara_list_t* list =
zathura_document_information_entry_list_new();
if (list == NULL) {
+ zathura_check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
return NULL;
}
@@ -33,9 +32,13 @@
{"format", ZATHURA_DOCUMENT_INFORMATION_FORMAT},
};
- char* string_value;
for (unsigned int i = 0; i < LENGTH(string_values); i++) {
+ g_autofree char* string_value = NULL;
g_object_get(poppler_document, string_values[i].property, &string_value,
NULL);
+ if (!string_value) {
+ continue;
+ }
+
zathura_document_information_entry_t* entry =
zathura_document_information_entry_new(string_values[i].type,
string_value);
if (entry != NULL) {
@@ -45,25 +48,24 @@
/* get time values */
static const info_value_t time_values[] = {
- {"creation-date", ZATHURA_DOCUMENT_INFORMATION_CREATION_DATE},
- {"mod-date", ZATHURA_DOCUMENT_INFORMATION_MODIFICATION_DATE},
+ {"creation-datetime", ZATHURA_DOCUMENT_INFORMATION_CREATION_DATE},
+ {"mod-datetime", ZATHURA_DOCUMENT_INFORMATION_MODIFICATION_DATE},
};
for (unsigned int i = 0; i < LENGTH(time_values); i++) {
- /* the properties stored in PopplerDocument are gints */
- gint time_value;
+ /* the properties stored in PopplerDocument are GDateTime* */
+ GDateTime* time_value = NULL;
g_object_get(poppler_document, time_values[i].property, &time_value, NULL);
- /* but we need time_ts */
- time_t r_time_value = time_value;
- char* tmp = ctime(&r_time_value);
- if (tmp != NULL) {
- string_value = g_strndup(tmp, strlen(tmp) - 1);
- zathura_document_information_entry_t* entry =
- zathura_document_information_entry_new(time_values[i].type,
string_value);
- if (entry != NULL) {
- girara_list_append(list, entry);
- }
- g_free(string_value);
+ if (!time_value) {
+ continue;
+ }
+
+ g_autofree char* string_value = g_date_time_format(time_value, "%Y-%m-%d
%H:%M:%S");
+ g_date_time_unref(time_value);
+ zathura_document_information_entry_t* entry =
+ zathura_document_information_entry_new(time_values[i].type,
string_value);
+ if (entry != NULL) {
+ girara_list_append(list, entry);
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/plugin.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/plugin.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/plugin.c 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/plugin.c
2026-05-10 13:44:11.000000000 +0200
@@ -15,7 +15,6 @@
.page_clear =
pdf_page_clear,
.page_search_text =
pdf_page_search_text,
.page_links_get =
pdf_page_links_get,
- .page_form_fields_get =
pdf_page_form_fields_get,
.page_images_get =
pdf_page_images_get,
.page_get_text =
pdf_page_get_text,
.page_get_selection =
pdf_page_get_selection,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/plugin.h
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/plugin.h
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/plugin.h 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/plugin.h
2026-05-10 13:44:11.000000000 +0200
@@ -21,7 +21,7 @@
* @return ZATHURA_ERROR_OK when no error occurred, otherwise see
* zathura_error_t
*/
-GIRARA_HIDDEN zathura_error_t pdf_document_open(zathura_document_t* document);
+zathura_error_t pdf_document_open(zathura_document_t* document);
/**
* Closes and frees the internal document structure
@@ -30,7 +30,7 @@
* @return ZATHURA_ERROR_OK when no error occurred, otherwise see
* zathura_error_t
*/
-GIRARA_HIDDEN zathura_error_t pdf_document_free(zathura_document_t* document,
void* poppler_document);
+zathura_error_t pdf_document_free(zathura_document_t* document, void*
poppler_document);
/**
* Initializes the page with the needed values
@@ -39,7 +39,7 @@
* @return ZATHURA_ERROR_OK when no error occurred, otherwise see
* zathura_error_t
*/
-GIRARA_HIDDEN zathura_error_t pdf_page_init(zathura_page_t* page);
+zathura_error_t pdf_page_init(zathura_page_t* page);
/**
* Frees the data that is used by the plugin in the page
@@ -48,7 +48,7 @@
* @return ZATHURA_ERROR_OK when no error occurred, otherwise see
* zathura_error_t
*/
-GIRARA_HIDDEN zathura_error_t pdf_page_clear(zathura_page_t* page, void*
poppler_page);
+zathura_error_t pdf_page_clear(zathura_page_t* page, void* poppler_page);
/**
* Saves the document to the given path
@@ -58,8 +58,7 @@
* @return ZATHURA_ERROR_OK when no error occurred, otherwise see
* zathura_error_t
*/
-GIRARA_HIDDEN zathura_error_t pdf_document_save_as(zathura_document_t*
document, void* poppler_document,
- const char* path);
+zathura_error_t pdf_document_save_as(zathura_document_t* document, void*
poppler_document, const char* path);
/**
* Generates the index of the document
@@ -70,8 +69,8 @@
* @return Tree node object or NULL if an error occurred (e.g.: the document
has
* no index)
*/
-GIRARA_HIDDEN girara_tree_node_t*
pdf_document_index_generate(zathura_document_t* document, void*
poppler_document,
- zathura_error_t*
error);
+girara_tree_node_t* pdf_document_index_generate(zathura_document_t* document,
void* poppler_document,
+ zathura_error_t* error);
/**
* Returns a list of attachments included in the zathura document
@@ -81,8 +80,8 @@
* error occurred
* @return List of attachments or NULL if an error occurred
*/
-GIRARA_HIDDEN girara_list_t* pdf_document_attachments_get(zathura_document_t*
document, void* poppler_document,
- zathura_error_t*
error);
+girara_list_t* pdf_document_attachments_get(zathura_document_t* document,
void* poppler_document,
+ zathura_error_t* error);
/**
* Saves an attachment to a file
@@ -93,8 +92,8 @@
* @return ZATHURA_ERROR_OK when no error occurred, otherwise see
* zathura_error_t
*/
-GIRARA_HIDDEN zathura_error_t pdf_document_attachment_save(zathura_document_t*
document, void* poppler_document,
- const char*
attachment, const char* filename);
+zathura_error_t pdf_document_attachment_save(zathura_document_t* document,
void* poppler_document,
+ const char* attachment, const
char* filename);
/**
* Returns a list of images included on the zathura page
@@ -104,7 +103,7 @@
* error occurred
* @return List of images
*/
-GIRARA_HIDDEN girara_list_t* pdf_page_images_get(zathura_page_t* page, void*
poppler_page, zathura_error_t* error);
+girara_list_t* pdf_page_images_get(zathura_page_t* page, void* poppler_page,
zathura_error_t* error);
/**
* Gets the content of the image in a cairo surface
@@ -115,8 +114,8 @@
* error occurred
* @return The cairo image surface or NULL if an error occurred
*/
-GIRARA_HIDDEN cairo_surface_t* pdf_page_image_get_cairo(zathura_page_t* page,
void* poppler_page,
- zathura_image_t*
image, zathura_error_t* error);
+cairo_surface_t* pdf_page_image_get_cairo(zathura_page_t* page, void*
poppler_page, zathura_image_t* image,
+ zathura_error_t* error);
/**
* Returns a list of document information entries of the document
@@ -126,8 +125,8 @@
* error occurred
* @return List of information entries or NULL if an error occurred
*/
-GIRARA_HIDDEN girara_list_t* pdf_document_get_information(zathura_document_t*
document, void* poppler_document,
- zathura_error_t*
error);
+girara_list_t* pdf_document_get_information(zathura_document_t* document,
void* poppler_document,
+ zathura_error_t* error);
/**
* Searches for a specific text on a page and returns a list of results
@@ -138,8 +137,7 @@
* error occurred
* @return List of search results or NULL if an error occurred
*/
-GIRARA_HIDDEN girara_list_t* pdf_page_search_text(zathura_page_t* page, void*
data, const char* text,
- zathura_error_t* error);
+girara_list_t* pdf_page_search_text(zathura_page_t* page, void* data, const
char* text, zathura_error_t* error);
/**
* Returns a list of internal/external links that are shown on the given page
@@ -149,17 +147,7 @@
* error occurred
* @return List of links or NULL if an error occurred
*/
-GIRARA_HIDDEN girara_list_t* pdf_page_links_get(zathura_page_t* page, void*
poppler_page, zathura_error_t* error);
-
-/**
- * Returns a list of form fields available on the given page
- *
- * @param page Page
- * @param error Set to an error value (see zathura_error_t) if an
- * error occurred
- * @return List of form fields or NULL if an error occurred
- */
-GIRARA_HIDDEN girara_list_t* pdf_page_form_fields_get(zathura_page_t* page,
void* poppler_page, zathura_error_t* error);
+girara_list_t* pdf_page_links_get(zathura_page_t* page, void* poppler_page,
zathura_error_t* error);
/**
* Get text for selection
@@ -169,11 +157,11 @@
* occurred
* @return The selected text (needs to be deallocated with g_free)
*/
-GIRARA_HIDDEN char* pdf_page_get_text(zathura_page_t* page, void*
poppler_page, zathura_rectangle_t rectangle,
- zathura_error_t* error);
+char* pdf_page_get_text(zathura_page_t* page, void* poppler_page,
zathura_rectangle_t rectangle,
+ zathura_error_t* error);
-GIRARA_HIDDEN girara_list_t* pdf_page_get_selection(zathura_page_t* page,
void* data, zathura_rectangle_t rectangle,
- zathura_error_t* error);
+girara_list_t* pdf_page_get_selection(zathura_page_t* page, void* data,
zathura_rectangle_t rectangle,
+ zathura_error_t* error);
/**
* Renders a page onto a cairo object
@@ -184,8 +172,7 @@
* @return ZATHURA_ERROR_OK when no error occurred, otherwise see
* zathura_error_t
*/
-GIRARA_HIDDEN zathura_error_t pdf_page_render_cairo(zathura_page_t* page,
void* poppler_page, cairo_t* cairo,
- bool printing);
+zathura_error_t pdf_page_render_cairo(zathura_page_t* page, void*
poppler_page, cairo_t* cairo, bool printing);
/**
* Get the page label
@@ -196,7 +183,7 @@
* @return ZATHURA_ERROR_OK when no error occurred, otherwise see
* zathura_error_t
*/
-GIRARA_HIDDEN zathura_error_t pdf_page_get_label(zathura_page_t* page, void*
data, char** label);
+zathura_error_t pdf_page_get_label(zathura_page_t* page, void* data, char**
label);
/**
* Get signatures
@@ -204,6 +191,6 @@
* @param poppler_document Internal document representation
* @param cairo Cairo object
*/
-GIRARA_HIDDEN girara_list_t* pdf_page_get_signatures(zathura_page_t* page,
void* data, zathura_error_t* error);
+girara_list_t* pdf_page_get_signatures(zathura_page_t* page, void* data,
zathura_error_t* error);
#endif // PDF_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/search.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/search.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/search.c 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/search.c
2026-05-10 13:44:11.000000000 +0200
@@ -4,11 +4,13 @@
#include "plugin.h"
+static void rectangle_free(void* data) {
+ poppler_rectangle_free(data);
+}
+
girara_list_t* pdf_page_search_text(zathura_page_t* page, void* data, const
char* text, zathura_error_t* error) {
if (page == NULL || data == NULL || text == NULL || strlen(text) == 0) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_INVALID_ARGUMENTS;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
return NULL;
}
@@ -17,26 +19,26 @@
girara_list_t* list = NULL;
/* search text */
- results = poppler_page_find_text(poppler_page, text);
+ results = poppler_page_find_text_with_options(poppler_page, text,
POPPLER_FIND_MULTILINE);
if (results == NULL || g_list_length(results) == 0) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_UNKNOWN;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_UNKNOWN);
goto error_free;
}
- list = girara_list_new2(g_free);
+ list = girara_list_new_with_free(g_free);
if (list == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_OUT_OF_MEMORY;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
goto error_free;
}
const double page_height = zathura_page_get_height(page);
for (GList* entry = results; entry && entry->data; entry =
g_list_next(entry)) {
PopplerRectangle* poppler_rectangle = (PopplerRectangle*)entry->data;
- zathura_rectangle_t* rectangle =
g_malloc0(sizeof(zathura_rectangle_t));
+ zathura_rectangle_t* rectangle =
g_try_malloc0(sizeof(zathura_rectangle_t));
+ if (rectangle == NULL) {
+ zathura_check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
+ goto error_free;
+ }
rectangle->x1 = poppler_rectangle->x1;
rectangle->x2 = poppler_rectangle->x2;
@@ -44,15 +46,14 @@
rectangle->y2 = page_height - poppler_rectangle->y1;
girara_list_append(list, rectangle);
- poppler_rectangle_free(poppler_rectangle);
}
- g_list_free(results);
+ g_list_free_full(results, rectangle_free);
return list;
error_free:
if (results != NULL) {
- g_list_free(results);
+ g_list_free_full(results, rectangle_free);
}
if (list != NULL) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/select.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/select.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/select.c 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/select.c
2026-05-10 13:44:11.000000000 +0200
@@ -14,13 +14,11 @@
char* pdf_page_get_text(zathura_page_t* page, void* data, zathura_rectangle_t
rectangle, zathura_error_t* error) {
if (page == NULL || data == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_INVALID_ARGUMENTS;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
return NULL;
}
- PopplerRectangle rect = poppler_rect_from_zathura(rectangle);
+ PopplerRectangle rect = poppler_rect_from_zathura(rectangle);
PopplerPage* poppler_page = data;
/* get selected text */
@@ -30,34 +28,39 @@
girara_list_t* pdf_page_get_selection(zathura_page_t* page, void* data,
zathura_rectangle_t rectangle,
zathura_error_t* error) {
if (page == NULL || data == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_INVALID_ARGUMENTS;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
return NULL;
}
- PopplerRectangle rect = poppler_rect_from_zathura(rectangle);
+ PopplerRectangle rect = poppler_rect_from_zathura(rectangle);
PopplerPage* poppler_page = data;
- girara_list_t* list = girara_list_new2(g_free);
+ girara_list_t* list = girara_list_new_with_free(g_free);
if (list == NULL) {
- if (error != NULL) {
- *error = ZATHURA_ERROR_OUT_OF_MEMORY;
- }
+ zathura_check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
goto error_free;
}
- cairo_region_t* region = poppler_page_get_selected_region(poppler_page,
1.0, POPPLER_SELECTION_GLYPH, &rect);
+ cairo_region_t* region = poppler_page_get_selected_region(poppler_page, 1.0,
POPPLER_SELECTION_GLYPH, &rect);
+ if (region == NULL) {
+ goto error_free;
+ }
const int num_rectangles = cairo_region_num_rectangles(region);
for (int n = 0; n < num_rectangles; ++n) {
cairo_rectangle_int_t r;
cairo_region_get_rectangle(region, n, &r);
- zathura_rectangle_t* inner_rectangle =
g_malloc0(sizeof(zathura_rectangle_t));
- inner_rectangle->x1 = r.x;
- inner_rectangle->x2 = r.x + r.width;
- inner_rectangle->y1 = r.y;
- inner_rectangle->y2 = r.y + r.height;
+ zathura_rectangle_t* inner_rectangle =
g_try_malloc0(sizeof(zathura_rectangle_t));
+ if (inner_rectangle == NULL) {
+ zathura_check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
+ cairo_region_destroy(region);
+ goto error_free;
+ }
+
+ inner_rectangle->x1 = r.x;
+ inner_rectangle->x2 = r.x + r.width;
+ inner_rectangle->y1 = r.y;
+ inner_rectangle->y2 = r.y + r.height;
girara_list_append(list, inner_rectangle);
}
cairo_region_destroy(region);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/signature.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/signature.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/signature.c
2024-08-04 10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/signature.c
2026-05-10 13:44:11.000000000 +0200
@@ -52,7 +52,7 @@
return NULL;
}
- girara_list_t* signatures = girara_list_new2(signature_info_free);
+ girara_list_t* signatures = girara_list_new_with_free(signature_info_free);
PopplerPage* poppler_page = data;
const double page_height = zathura_page_get_height(page);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/utils.c
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/utils.c
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/utils.c 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/utils.c
2026-05-10 13:44:11.000000000 +0200
@@ -20,15 +20,23 @@
type = ZATHURA_LINK_GOTO_DEST;
+ PopplerDest* named_dest = NULL;
if (poppler_action->goto_dest.dest->type == POPPLER_DEST_NAMED) {
- poppler_destination = poppler_document_find_dest(poppler_document,
poppler_destination->named_dest);
+ named_dest = poppler_document_find_dest(poppler_document,
poppler_destination->named_dest);
+ poppler_destination = named_dest;
if (poppler_destination == NULL) {
return NULL;
}
}
+ /* the page number is coming from poppler, so the page should exist;
return if it doesn't */
PopplerPage* poppler_page = poppler_document_get_page(poppler_document,
poppler_destination->page_num - 1);
- double height = 0;
+ if (poppler_page == NULL) {
+ poppler_dest_free(named_dest);
+ return NULL;
+ }
+
+ double height = 0;
poppler_page_get_size(poppler_page, NULL, &height);
switch (poppler_destination->type) {
@@ -96,8 +104,12 @@
target.page_number = poppler_destination->page_num - 1;
break;
default:
+ g_object_unref(poppler_page);
+ poppler_dest_free(named_dest);
return NULL;
}
+ g_object_unref(poppler_page);
+ poppler_dest_free(named_dest);
break;
}
case POPPLER_ACTION_GOTO_REMOTE:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/utils.h
new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/utils.h
--- old/zathura-pdf-poppler-0.3.3/zathura-pdf-poppler/utils.h 2024-08-04
10:38:51.000000000 +0200
+++ new/zathura-pdf-poppler-2026.05.10/zathura-pdf-poppler/utils.h
2026-05-10 13:44:11.000000000 +0200
@@ -14,7 +14,7 @@
*
* @return Zathura link object
*/
-GIRARA_HIDDEN zathura_link_t* poppler_link_to_zathura_link(PopplerDocument*
poppler_document,
- PopplerAction*
poppler_action, zathura_rectangle_t position);
+zathura_link_t* poppler_link_to_zathura_link(PopplerDocument*
poppler_document, PopplerAction* poppler_action,
+ zathura_rectangle_t position);
#endif // UTILS_H