From 42b64a7f0a5730ab9bcb8c5a5ee6dfb2ccd87447 Mon Sep 17 00:00:00 2001 From: Shane Ringrose Date: Thu, 11 Jun 2026 22:00:07 +1200 Subject: [PATCH] CLI export: disable the editor grid in rendered output renderDiagram() had a no-op stub: was_drawing_grid was set to false and Q_UNUSED'd, so the editor grid still leaked into exported PDF/PNG/SVG. Toggle Diagram::setDisplayGrid(false) around the render and restore the previous state afterwards. Fixes all three export formats (they share renderDiagram). Reported by scorpio810 on #483. Co-Authored-By: Claude Opus 4.8 --- sources/cli_export.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sources/cli_export.cpp b/sources/cli_export.cpp index c3985375b..c29fea8b0 100644 --- a/sources/cli_export.cpp +++ b/sources/cli_export.cpp @@ -74,9 +74,13 @@ QString diagramStem(Diagram *diagram, int index) void renderDiagram(Diagram *diagram, QPainter &painter, const QRectF &target) { const QRect source = diagramRect(diagram); - const bool was_drawing_grid = false; // export without the editor grid - Q_UNUSED(was_drawing_grid) + // Export without the editor grid: drawBackground() only paints it when + // draw_grid_ is set (default true), so toggle it off around the render + // and restore it afterwards. + const bool was_drawing_grid = diagram->displayGrid(); + diagram->setDisplayGrid(false); diagram->render(&painter, target, source, Qt::KeepAspectRatio); + diagram->setDisplayGrid(was_drawing_grid); } int exportPdf(QETProject &project, const QString &output)