From 13cd80376a3c762b0200fbb7346b645c8a3d3c27 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 23 Apr 2019 19:52:22 +0200 Subject: [PATCH] Fixed a segfault when closing the netlist browser. --- src/laybasic/laybasic/layNetlistBrowserPage.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/laybasic/laybasic/layNetlistBrowserPage.cc b/src/laybasic/laybasic/layNetlistBrowserPage.cc index 082155bb3..e50db314d 100644 --- a/src/laybasic/laybasic/layNetlistBrowserPage.cc +++ b/src/laybasic/laybasic/layNetlistBrowserPage.cc @@ -1018,11 +1018,15 @@ NetlistBrowserPage::set_l2ndb (db::LayoutToNetlist *database) mp_database.reset (database); + if (! database) { + directory_tree->setModel (0); + return; + } + // @@@ release_markers (); - QAbstractItemModel *tree_model = directory_tree->model (); - - NetlistBrowserModel *new_model = new NetlistBrowserModel (this, database); + // NOTE: with the tree as the parent, the tree will take over ownership of the model + NetlistBrowserModel *new_model = new NetlistBrowserModel (directory_tree, database); directory_tree->setModel (new_model); // @@@ connect (directory_tree->selectionModel (), SIGNAL (selectionChanged (const QItemSelection &, const QItemSelection &)), this, SLOT (directory_selection_changed (const QItemSelection &, const QItemSelection &))); @@ -1031,10 +1035,6 @@ NetlistBrowserPage::set_l2ndb (db::LayoutToNetlist *database) filter->setText (QString ()); - if (tree_model) { - delete tree_model; - } - } }