]> git.tokkee.org Git - inkscape.git/commitdiff

Code

bug 1614678: infinite loop on text containing a character pango describes as 'mandato...
authorcyreve <cyreve@users.sourceforge.net>
Mon, 18 Dec 2006 21:56:47 +0000 (21:56 +0000)
committercyreve <cyreve@users.sourceforge.net>
Mon, 18 Dec 2006 21:56:47 +0000 (21:56 +0000)
src/libnrtype/Layout-TNG-Compute.cpp

index fc69ef4c7523f256b1074ba9c85734aa91a47375..dfbc282c87ed1c34c25c566025c9cefdb1c2a5cf 100755 (executable)
@@ -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;