Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 9862757a

Von Sven Schöling vor etwa 8 Jahren hinzugefügt

  • ID 9862757a2c34b56820cc47beb13b82b6867367a4
  • Vorgänger 39414125
  • Nachfolger 375c7e54

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

Auch abrufbar als: Unified diff