Merge pull request #915 from KLayout/issue-912

Fixed #912 (crash when trying to create a cell in an empty panel)
This commit is contained in:
Matthias Köfferlein 2021-09-25 23:21:27 +02:00 committed by GitHub
commit 8b12788084
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 1 deletions

View File

@ -1242,11 +1242,16 @@ LayoutViewFunctions::do_cm_paste (bool interactive)
void
LayoutViewFunctions::cm_new_cell ()
{
lay::CellView cv = view ()->cellview (view ()->active_cellview_index ());
if (! cv.is_valid ()) {
throw tl::Exception (tl::to_string (tr ("No layout present to add a cell to")));
}
static double s_new_cell_window_size = 2.0;
static std::string s_new_cell_cell_name;
NewCellPropertiesDialog cell_prop_dia (view ());
if (cell_prop_dia.exec_dialog (& view ()->cellview (view ()->active_cellview_index ())->layout (), s_new_cell_cell_name, s_new_cell_window_size)) {
if (cell_prop_dia.exec_dialog (& cv->layout (), s_new_cell_cell_name, s_new_cell_window_size)) {
db::cell_index_type new_ci = view ()->new_cell (view ()->active_cellview_index (), s_new_cell_cell_name.c_str ());
view ()->select_cell (new_ci, view ()->active_cellview_index ());