diff --git a/src/edt/edt/edtShapeService.cc b/src/edt/edt/edtShapeService.cc index dcd76c834..96da82079 100644 --- a/src/edt/edt/edtShapeService.cc +++ b/src/edt/edt/edtShapeService.cc @@ -170,9 +170,17 @@ ShapeEditService::change_edit_layer (const db::LayerProperties &lp) edt::set_or_request_current_layer (view (), lp, m_cv_index); + if (editing ()) { + close_editor_hooks (false); + } + // fetches the last configuration for the given layer view ()->set_active_cellview_index (m_cv_index); config_recent_for_layer (lp, m_cv_index); + + if (editing ()) { + open_editor_hooks (); + } } void @@ -267,10 +275,12 @@ ShapeEditService::update_edit_layer (const lay::LayerPropertiesConstIterator &cl mp_layout = &(cv->layout ()); mp_cell = cv.cell (); + close_editor_hooks (false); + // fetches the last configuration for the given layer config_recent_for_layer (cv->layout ().get_properties ((unsigned int) layer), cv_index); - current_layer_changed (); + open_editor_hooks (); } } diff --git a/src/edt/edt/edtShapeService.h b/src/edt/edt/edtShapeService.h index 9a9b6e8c4..4a9e32ead 100644 --- a/src/edt/edt/edtShapeService.h +++ b/src/edt/edt/edtShapeService.h @@ -74,8 +74,6 @@ protected: return m_editor_hooks; } - virtual void current_layer_changed () { } - private: db::VCplxTrans m_trans; unsigned int m_layer;