diff --git a/crlcore/etc/common/display.conf b/crlcore/etc/common/display.conf index 7d04738d..9e9ace2d 100644 --- a/crlcore/etc/common/display.conf +++ b/crlcore/etc/common/display.conf @@ -8,7 +8,7 @@ else: poly2Color = 'Orange' -defaultStyle = 'Printer.Coriolis' +defaultStyle = 'Alliance.Classic [black]' stylesTable = \ ( ( (Style , 'Alliance.Coriolis [black]', 'Alliance Coriolis Look - black background') diff --git a/hurricane/src/hurricane/Cell.cpp b/hurricane/src/hurricane/Cell.cpp index 08c4b6b5..06ee8db2 100644 --- a/hurricane/src/hurricane/Cell.cpp +++ b/hurricane/src/hurricane/Cell.cpp @@ -936,15 +936,18 @@ void Cell::_preDestroy() _slaveEntityMap.begin()->second->destroy(); } -//for ( View* view : getViews() ) view->setCell( NULL ); - for ( Marker* marker : getMarkers() ) marker->destroy(); - for ( Instance* slaveInstance : getSlaveInstances() ) slaveInstance->destroy(); - for ( Instance* instance : getInstances() ) instance->destroy(); - for ( Net* net : getNets() ) { + Markers markers = getMarkers (); while ( markers .getFirst() ) markers .getFirst()->destroy(); + Instances instances = getSlaveInstances(); while ( instances.getFirst() ) instances.getFirst()->destroy(); + instances = getInstances (); while ( instances.getFirst() ) instances.getFirst()->destroy(); + + Nets nets = getNets(); + while ( nets.getFirst() ) { + Net* net = nets.getFirst(); net->_getMainName().detachAll(); net->destroy(); } - for ( auto islave : _netAliasSet ) delete islave; + for ( auto islave : _netAliasSet ) delete islave; + for ( Slice* slice : getSlices() ) slice->_destroy(); while ( not _extensionSlices.empty() ) _removeSlice( _extensionSlices.begin()->second ); diff --git a/hurricane/src/isobar/hurricane/isobar/PyHurricane.h b/hurricane/src/isobar/hurricane/isobar/PyHurricane.h index 51d590a0..c4f105fe 100644 --- a/hurricane/src/isobar/hurricane/isobar/PyHurricane.h +++ b/hurricane/src/isobar/hurricane/isobar/PyHurricane.h @@ -1399,16 +1399,16 @@ extern "C" { # define HCATCH \ } \ - catch ( Warning& w ) { \ + catch ( const Warning& w ) { \ std::string message = "\n" + getString(w); \ PyErr_Warn ( HurricaneWarning, const_cast(message.c_str()) ); \ } \ - catch ( Error& e ) { \ + catch ( const Error& e ) { \ std::string message = "\n" + getString(e); \ PyErr_SetString ( HurricaneError, message.c_str() ); \ return NULL; \ } \ - catch ( std::exception& e ) { \ + catch ( const std::exception& e ) { \ std::string message = "\n" + std::string(e.what()); \ PyErr_SetString ( HurricaneError, message.c_str() ); \ return NULL; \