From 9862757a2c34b56820cc47beb13b82b6867367a4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sven=20Sch=C3=B6ling?= Date: Thu, 25 Feb 2016 15:51:05 +0100 Subject: [PATCH] Endlosschleife im PDF-Tabellenmodul und damit im PDF-Export gefixt MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- modules/override/PDF/Table.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/override/PDF/Table.pm b/modules/override/PDF/Table.pm index 0316e2a48..95efebc48 100644 --- a/modules/override/PDF/Table.pm +++ b/modules/override/PDF/Table.pm @@ -206,8 +206,12 @@ sub text_block } # Lets take from paragraph as many words as we can put into $width - $indent; - while ( @paragraph and $text_object->advancewidth( join("\x20", @line)."\x20" . $paragraph[0]) + - $line_width < $width ) + # Always take at least one word; otherwise we'd end up in an infinite loop. + while ( !scalar(@line) || ( + @paragraph && ( + $text_object->advancewidth( join("\x20", @line)."\x20" . $paragraph[0]) + $line_width < $width + ) + )) { push(@line, shift(@paragraph)); } -- 2.20.1