aboutsummaryrefslogtreecommitdiff
path: root/media/gfx/inkscape/inkscape-0.46.diff
diff options
context:
space:
mode:
Diffstat (limited to 'media/gfx/inkscape/inkscape-0.46.diff')
-rw-r--r--media/gfx/inkscape/inkscape-0.46.diff42
1 files changed, 42 insertions, 0 deletions
diff --git a/media/gfx/inkscape/inkscape-0.46.diff b/media/gfx/inkscape/inkscape-0.46.diff
new file mode 100644
index 0000000..70f9a16
--- /dev/null
+++ b/media/gfx/inkscape/inkscape-0.46.diff
@@ -0,0 +1,42 @@
+diff -NrU5 inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp inkscape-0.46/src/extension/internal/pdfinput/pdf-parser.cpp
+--- inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp 2008-06-05 00:26:20.000000000 +0200
++++ inkscape-0.46/src/extension/internal/pdfinput/pdf-parser.cpp 2008-06-05 00:51:47.000000000 +0200
+@@ -2194,11 +2194,11 @@
+ void PdfParser::doShowText(GooString *s) {
+ GfxFont *font;
+ int wMode;
+ double riseX, riseY;
+ CharCode code;
+- Unicode u[8];
++ Unicode *u = NULL;
+ double x, y, dx, dy, dx2, dy2, curX, curY, tdx, tdy, lineX, lineY;
+ double originX, originY, tOriginX, tOriginY;
+ double oldCTM[6], newCTM[6];
+ double *mat;
+ Object charProc;
+@@ -2242,11 +2242,11 @@
+ oldParser = parser;
+ p = s->getCString();
+ len = s->getLength();
+ while (len > 0) {
+ n = font->getNextChar(p, len, &code,
+- u, (int)(sizeof(u) / sizeof(Unicode)), &uLen,
++ &u, &uLen,
+ &dx, &dy, &originX, &originY);
+ dx = dx * state->getFontSize() + state->getCharSpace();
+ if (n == 1 && *p == ' ') {
+ dx += state->getWordSpace();
+ }
+@@ -2291,11 +2291,11 @@
+ state->textTransformDelta(0, state->getRise(), &riseX, &riseY);
+ p = s->getCString();
+ len = s->getLength();
+ while (len > 0) {
+ n = font->getNextChar(p, len, &code,
+- u, (int)(sizeof(u) / sizeof(Unicode)), &uLen,
++ &u, &uLen,
+ &dx, &dy, &originX, &originY);
+
+ if (wMode) {
+ dx *= state->getFontSize();
+ dy = dy * state->getFontSize() + state->getCharSpace();