summaryrefslogtreecommitdiff
path: root/graphics/dia/patches/0018-Bug-683700-vdx-full-of-errors.patch
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/dia/patches/0018-Bug-683700-vdx-full-of-errors.patch')
-rw-r--r--graphics/dia/patches/0018-Bug-683700-vdx-full-of-errors.patch130
1 files changed, 0 insertions, 130 deletions
diff --git a/graphics/dia/patches/0018-Bug-683700-vdx-full-of-errors.patch b/graphics/dia/patches/0018-Bug-683700-vdx-full-of-errors.patch
deleted file mode 100644
index 550bc62262..0000000000
--- a/graphics/dia/patches/0018-Bug-683700-vdx-full-of-errors.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From 61431fec37ed855db7284c6737cb3777577cc904 Mon Sep 17 00:00:00 2001
-From: Hans Breuer <hans@breuer.org>
-Date: Fri, 16 Aug 2013 20:54:12 +0200
-Subject: [PATCH 18/24] Bug 683700 - vdx full of errors
-
-Ensure message_error strings are linefeed-terminated.
-Plus fixes merged from master:
-
-cairo: don't screw cairo's matrix by scaling with 0
-Seen with the VDX attached to bug 683700 - maybe there is also something wrong with the import?
-
-vdx: UTF-8 safe variant to remove last newline
-With the VDX attached to bug 683700 scrambled text appeared. Now corrected with the UTF-8 safe variant to search and replace "\n".
----
- plug-ins/cairo/diacairo-renderer.c | 23 ++++++-----------------
- plug-ins/vdx/vdx-import.c | 21 +++++++++++++++++++--
- plug-ins/vdx/vdx-xml.c | 2 +-
- 3 files changed, 26 insertions(+), 20 deletions(-)
-
-diff --git a/plug-ins/cairo/diacairo-renderer.c b/plug-ins/cairo/diacairo-renderer.c
-index 137411e..57f6184 100644
---- a/plug-ins/cairo/diacairo-renderer.c
-+++ b/plug-ins/cairo/diacairo-renderer.c
-@@ -572,9 +572,14 @@ _ellipse(DiaRenderer *self,
- DIAG_NOTE(g_message("%s_ellipse %fx%f center @ %f,%f",
- fill ? "fill" : "draw", width, height, center->x, center->y));
-
-+ /* avoid screwing cairo context - I'd say restore should fix it again, but it doesn't
-+ * (dia.exe:3152): DiaCairo-WARNING **: diacairo-renderer.c:254, invalid matrix (not invertible)
-+ */
-+ if (!(width > 0. && height > 0.))
-+ return;
-+
- cairo_set_source_rgba (renderer->cr, color->red, color->green, color->blue, 1.0);
-
--#if 1
- cairo_save (renderer->cr);
- /* don't create a line from the current point to the beginning
- * of the ellipse */
-@@ -584,22 +589,6 @@ _ellipse(DiaRenderer *self,
- cairo_scale (renderer->cr, width / 2., height / 2.);
- cairo_arc (renderer->cr, 0., 0., 1., 0., 2 * G_PI);
- cairo_restore (renderer->cr);
--#else
-- /* FIXME: how to make a perfect ellipse from a bezier ? */
-- co = sqrt(pow(width,2)/4 + pow(height,2)/4);
--
-- cairo_new_path (renderer->cr);
-- cairo_move_to (renderer->cr,
-- center->x, center->y - height/2);
-- cairo_curve_to (renderer->cr,
-- center->x + co, center->y - height/2,
-- center->x + co, center->y + height/2,
-- center->x, center->y + height/2);
-- cairo_curve_to (renderer->cr,
-- center->x - co, center->y + height/2,
-- center->x - co, center->y - height/2,
-- center->x, center->y - height/2);
--#endif
-
- if (fill)
- cairo_fill (renderer->cr);
-diff --git a/plug-ins/vdx/vdx-import.c b/plug-ins/vdx/vdx-import.c
-index ffefa58..7da0c05 100644
---- a/plug-ins/vdx/vdx-import.c
-+++ b/plug-ins/vdx/vdx-import.c
-@@ -1737,7 +1737,7 @@ plot_nurbs(const struct vdx_Geom *Geom, const struct vdx_XForm *XForm,
- }
- if (n % 4 || ! n)
- {
-- message_error(_("Invalid NURBS formula"));
-+ message_error(_("Invalid NURBS formula\n"));
- g_debug("Invalid NURBS formula");
- return 0;
- }
-@@ -2066,7 +2066,7 @@ plot_image(const struct vdx_Geom *Geom, const struct vdx_XForm *XForm,
- }
- else
- {
-- message_error(_("Couldn't handle foreign object type %s"),
-+ message_error(_("Couldn't handle foreign object type %s\n"),
- ForeignData->ForeignType ? ForeignData->ForeignType
- : "Unknown");
- return 0;
-@@ -2398,12 +2398,29 @@ plot_text(const struct vdx_Text *Text, const struct vdx_XForm *XForm,
- }
- }
-
-+#if 0 /* this is not utf-8 safe - see bug 683700 */
- /* Remove trailing line breaks */
- while (tprop->text_data[0] &&
- isspace(tprop->text_data[strlen(tprop->text_data)-1]))
- {
- tprop->text_data[strlen(tprop->text_data)-1] = 0;
- }
-+#else
-+ {
-+ char *s = tprop->text_data;
-+ char *srep = NULL;
-+ while ( (s = g_utf8_strchr(s, -1, '\n')) != NULL ) {
-+ srep = s;
-+ s = g_utf8_next_char(s);
-+ if (*s)
-+ srep = NULL;
-+ else
-+ break;
-+ }
-+ if (srep)
-+ *srep = '\0';
-+ }
-+#endif
-
- /* Other standard text properties */
- tprop->attr.alignment = alignment;
-diff --git a/plug-ins/vdx/vdx-xml.c b/plug-ins/vdx/vdx-xml.c
-index 1fdac65..1c9567d 100644
---- a/plug-ins/vdx/vdx-xml.c
-+++ b/plug-ins/vdx/vdx-xml.c
-@@ -3341,7 +3341,7 @@ vdx_read_object(xmlNodePtr cur, VDXDocument *theDoc, void *p)
- return s;
- }
-
-- message_error(_("Can't decode object %s"), (char*)cur->name);
-+ message_error(_("Can't decode object %s\n"), (char*)cur->name);
- return 0;
- }
-
---
-1.8.4.4
-