From 8d1dcbb04a3c4d142818769e80fd90be3e7f73a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sun, 9 Oct 2022 21:27:13 +0200 Subject: [PATCH] Fixed issue-1164 (internal error on delete cells on archlinux) (#1166) * Fixed issue-1164 (internal error on delete cells on archlinux) * Found another location where take_cell would spoil cell_name Co-authored-by: matthias --- src/db/db/dbLayout.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/db/db/dbLayout.cc b/src/db/db/dbLayout.cc index 2fe7a643b..067ffc03b 100644 --- a/src/db/db/dbLayout.cc +++ b/src/db/db/dbLayout.cc @@ -845,7 +845,8 @@ Layout::delete_cells (const std::set &cells_to_delete) if (manager () && manager ()->transacting ()) { // note the "take" method - this takes out the cell - manager ()->queue (this, new NewRemoveCellOp (*c, cell_name (*c), true /*remove*/, take_cell (*c))); + std::string cn (cell_name (*c)); + manager ()->queue (this, new NewRemoveCellOp (*c, cn, true /*remove*/, take_cell (*c))); } else { @@ -913,7 +914,8 @@ Layout::delete_cell (cell_index_type id) if (manager () && manager ()->transacting ()) { // not the "take" method - this takes out the cell - manager ()->queue (this, new NewRemoveCellOp (id, cell_name (id), true /*remove*/, take_cell (id))); + std::string cn (cell_name (id)); + manager ()->queue (this, new NewRemoveCellOp (id, cn, true /*remove*/, take_cell (id))); } else {