commit:     c16b996cad28ec4ef9cc90001ee73d1133a977a0
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Thu Jan  8 22:33:31 2026 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Jan  9 13:51:29 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c16b996c

app-office/dia: fix pdf-import w/ poppler-26.01

Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/45295
Closes: https://github.com/gentoo/gentoo/pull/45295
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 app-office/dia/dia-0.98_pre20250913.ebuild           |  3 ++-
 app-office/dia/files/dia-0.98-fix_poppler_2601.patch | 19 +++++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/app-office/dia/dia-0.98_pre20250913.ebuild 
b/app-office/dia/dia-0.98_pre20250913.ebuild
index 49ec52feeeb4..c27958ec1d11 100644
--- a/app-office/dia/dia-0.98_pre20250913.ebuild
+++ b/app-office/dia/dia-0.98_pre20250913.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -54,6 +54,7 @@ PATCHES=(
        "${WORKDIR}"/dia-0.98-patches/${PN}-0.98-use_gtkfontbutton.patch
        "${WORKDIR}"/dia-0.98-patches/${PN}-0.98-deps_optional.patch
        "${FILESDIR}"/${PN}-0.98-fix_poppler_2510.patch #965768
+       "${FILESDIR}"/${PN}-0.98-fix_poppler_2601.patch
 )
 
 pkg_setup() {

diff --git a/app-office/dia/files/dia-0.98-fix_poppler_2601.patch 
b/app-office/dia/files/dia-0.98-fix_poppler_2601.patch
new file mode 100644
index 000000000000..0aa90ace8b6d
--- /dev/null
+++ b/app-office/dia/files/dia-0.98-fix_poppler_2601.patch
@@ -0,0 +1,19 @@
+PR merged https://gitlab.gnome.org/GNOME/dia/-/merge_requests/142.patch
+fix compile with >=poppler-26.01
+--- a/plug-ins/pdf/pdf-import.cpp
++++ b/plug-ins/pdf/pdf-import.cpp
+@@ -904,7 +904,11 @@ DiaOutputDev::drawImage (GfxState         *state,
+       unsigned char *pixels = gdk_pixbuf_get_pixels (pixbuf);
+       int y;
+ 
++#if POPPLER_VERSION_MAJOR > 25
++      imgStr.rewind(); // otherwise getLine() is crashing right away
++#else
+       imgStr.reset(); // otherwise getLine() is crashing right away
++#endif
+       line = imgStr.getLine ();
+       for (y = 0; y < height && line; ++y) {
+       unsigned char *dest = pixels + y * rowstride;
+-- 
+GitLab
+

Reply via email to