summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Hughes <cyreve@gmail.com>2006-12-18 21:56:47 +0000
committercyreve <cyreve@users.sourceforge.net>2006-12-18 21:56:47 +0000
commitee3e5892f51ef2e4cdaceb599af21032bf45aec5 (patch)
treef6e9dda8523c95e024e59a98a0e3831ba3641969
parenttranslated strings from Michal (diff)
downloadinkscape-ee3e5892f51ef2e4cdaceb599af21032bf45aec5.tar.gz
inkscape-ee3e5892f51ef2e4cdaceb599af21032bf45aec5.zip
bug 1614678: infinite loop on text containing a character pango describes as 'mandatory break'
(bzr r2097)
-rwxr-xr-xsrc/libnrtype/Layout-TNG-Compute.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libnrtype/Layout-TNG-Compute.cpp b/src/libnrtype/Layout-TNG-Compute.cpp
index fc69ef4c7..dfbc282c8 100755
--- a/src/libnrtype/Layout-TNG-Compute.cpp
+++ b/src/libnrtype/Layout-TNG-Compute.cpp
@@ -19,9 +19,9 @@ namespace Inkscape {
namespace Text {
//#define IFTRACE(_code) _code
-//#define TRACE(_args) g_print _args
#define IFTRACE(_code)
-#define TRACE(_args)
+
+#define TRACE(_args) IFTRACE(g_print _args)
// ******* enum conversion tables
static Layout::EnumConversionItem const enum_convert_spstyle_direction_to_pango_direction[] = {
@@ -291,7 +291,7 @@ class Layout::Calculator
do {
PangoLogAttr const &char_attributes = _charAttributes(para, span->end);
- if (char_attributes.is_mandatory_break) {
+ if (char_attributes.is_mandatory_break && span->end != span->start) {
*last_emergency_break_span = *last_break_span = *span;
TRACE(("span %d end of para; width = %f chars = %d\n", span->start.iter_span - para.unbroken_spans.begin(), span->width, char_count));
return false;