Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision e03f83f2

Von Sven Schöling vor mehr als 5 Jahren hinzugefügt

  • ID e03f83f29f89260c7275a00775be532ccde4e99b
  • Vorgänger 1417bbe8
  • Nachfolger 3b5dc7b6

Endlosschleife im PDF-Tabellenmodul und damit im PDF-Export gefixt

Wenn die Tabelle zu breit wird und dann irgendwann nicht einmal mehr ein
Wort in eine Zeile passt, dann muss das Wort trotzdem gesetzt werden;
andernfalls würde das PDF::Table-Modul in einer Endlosschleife enden.

Fix für Bug 863.

Reimplementiert commit 23223ef4302931a6a141c659bfda7ef6c7546b77

Unterschiede anzeigen:

modules/override/PDF/Table.pm
211 211
        }
212 212

  
213 213
        # Lets take from paragraph as many words as we can put into $width - $indent;
214
        while ( @paragraph and $text_object->advancewidth( join("\x20", @line)."\x20" . $paragraph[0]) +
215
                                $line_width < $width )
214
        # Always take at least one word; otherwise we'd end up in an infinite loop.
215
        while ( !scalar(@line) || (
216
          @paragraph && (
217
            $text_object->advancewidth( join("\x20", @line)."\x20" . $paragraph[0]) + $line_width < $width
218
          )
219
        ))
216 220
        {
217 221
            push(@line, shift(@paragraph));
218 222
        }

Auch abrufbar als: Unified diff