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

Reply via email to