Skip to content

Commit

Permalink
media-gfx/inkscape: add link to upstream PR for poppler fix
Browse files Browse the repository at this point in the history
Signed-off-by: Sam James <[email protected]>
  • Loading branch information
thesamesam committed Sep 2, 2022
1 parent aaf1f4c commit 8b48848
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions media-gfx/inkscape/files/inkscape-1.2.1-poppler-22.09.0.patch
Original file line number Diff line number Diff line change
@@ -1,3 +1,41 @@
https://gitlab.com/inkscape/inkscape/-/merge_requests/4719

From dce083204c62f1185ad079fc124f7fb40a1d0bb6 Mon Sep 17 00:00:00 2001
From: Sam James <[email protected]>
Date: Fri, 2 Sep 2022 06:21:28 +0100
Subject: [PATCH] Fix build with Poppler 22.09.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

With Poppler 22.09.0, inkscape fails to build with:
```
/var/tmp/portage/media-gfx/inkscape-1.2.1/work/inkscape-1.2.1/src/extension/internal/pdfinput/svg-builder.cpp:394:23: error: no matching function for call to ‘GfxState::getLineDash(double**, int*, double*)’
394 | state->getLineDash(&dash_pattern, &dash_length, &dash_start);
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/portage/media-gfx/inkscape-1.2.1/work/inkscape-1.2.1/src/extension/internal/pdfinput/svg-builder.cpp:44:
/usr/include/poppler/GfxState.h:1506:32: note: candidate: ‘const std::vector<double>& GfxState::getLineDash(double*)’
1506 | const std::vector<double> &getLineDash(double *start)
| ^~~~~~~~~~~
[...]
/var/tmp/portage/media-gfx/inkscape-1.2.1/work/inkscape-1.2.1/src/extension/internal/pdfinput/pdf-parser.cpp:700:21: error: no matching function for call to ‘GfxState::setLineDash(double*&, int&, double)’
700 | state->setLineDash(dash, length, args[1].getNum());
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

Poppler changed the getLineDash interface:
```
- void getLineDash(double **dash, int *length, double *start)
+ const std::vector<double> &getLineDash(double *start)
```

... and the setLineDash interface:
````
- void setLineDash(double *dash, int length, double start);
+ void setLineDash(std::vector<double> &&dash, double start);
```

Signed-off-by: Sam James <[email protected]>
--- a/src/extension/internal/pdfinput/pdf-parser.cpp
+++ b/src/extension/internal/pdfinput/pdf-parser.cpp
@@ -697,7 +697,11 @@ void PdfParser::opSetDash(Object args[], int /*numArgs*/)
Expand Down

0 comments on commit 8b48848

Please sign in to comment.