From 11618cc6472d9fb384006a53050a8ec08959b3ea Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Fri, 8 Sep 2023 22:01:33 +0200 Subject: [PATCH] Fix managment of layer 0 as bounding box in GdsParser. * Bug: In GdsParser::readStructure(), the Gds::Layer_0_IsBoundary flag was not taken into account. The abutment box was always forced to the bounding box, resulting in incorrect cell size (and placement). --- crlcore/src/ccore/gds/GdsParser.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/crlcore/src/ccore/gds/GdsParser.cpp b/crlcore/src/ccore/gds/GdsParser.cpp index df43bf38..b7c8a95d 100644 --- a/crlcore/src/ccore/gds/GdsParser.cpp +++ b/crlcore/src/ccore/gds/GdsParser.cpp @@ -963,9 +963,11 @@ namespace { if (_validSyntax) _stream >> _record; - UpdateSession::close(); - _cell->setAbutmentBox( _cell->getBoundingBox() ); - UpdateSession::open(); + if (not useLayer0AsBoundary()) { + UpdateSession::close(); + _cell->setAbutmentBox( _cell->getBoundingBox() ); + UpdateSession::open(); + } _cell = NULL; cdebug_log(101,-1) << " GdsStream::readStructure() - return:" << _validSyntax << endl;