From ec50af2785bb129cef50a8b9b765659a24b81af9 Mon Sep 17 00:00:00 2001 From: Peter Landgren Date: Thu, 30 Sep 2010 13:04:32 +0000 Subject: [PATCH] Final fix of 4164, problems with cairo: out of memory for mult pages in Grapviz output. svn: r15940 --- src/ReportBase/_GraphvizReportDialog.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ReportBase/_GraphvizReportDialog.py b/src/ReportBase/_GraphvizReportDialog.py index a219abae0..a094344eb 100644 --- a/src/ReportBase/_GraphvizReportDialog.py +++ b/src/ReportBase/_GraphvizReportDialog.py @@ -453,7 +453,9 @@ class GVPsDoc(GVDocBase): command = 'dot -Tps:cairo -o"%s" "%s"' % (fname, tmp_dot) dotversion = Popen(['dot', '-V'], stderr=PIPE).communicate(input=None)[1] - if dotversion.find('2.26.3') != -1: + # Problem with dot 2.26.3 and multiple pages, which gives "cairo: out of memory" + # If the :cairo is skipped for these cases it gives acceptable result. + if dotversion.find('2.26.3') != -1 and (self.vpages * self.hpages) > 1: command=command.replace(':cairo','') os.system(command) # Delete the temporary dot file @@ -798,7 +800,9 @@ class GVPdfGsDoc(GVDocBase): # See bug tracker issue 2815 command = 'dot -Tps:cairo -o"%s" "%s"' % ( tmp_ps, tmp_dot ) dotversion = Popen(['dot', '-V'], stderr=PIPE).communicate(input=None)[1] - if dotversion.find('2.26.3') != -1: + # Problem with dot 2.26.3 and multiple pages, which gives "cairo: out of memory" + # If the :cairo is skipped for these cases it gives acceptable result. + if dotversion.find('2.26.3') != -1 and (self.vpages * self.hpages) > 1: command=command.replace(':cairo','') os.system(command)