diff --git a/src/laybasic/laybasic/layEditable.cc b/src/laybasic/laybasic/layEditable.cc index fefbe3d26..60fd18a19 100644 --- a/src/laybasic/laybasic/layEditable.cc +++ b/src/laybasic/laybasic/layEditable.cc @@ -110,6 +110,8 @@ Editables::del (db::Transaction *transaction) e->del (); } + signal_selection_changed (); + } catch (...) { trans_holder->cancel (); throw; diff --git a/src/layui/layui/layPropertiesDialog.cc b/src/layui/layui/layPropertiesDialog.cc index 4e29f628d..c08e2f30d 100644 --- a/src/layui/layui/layPropertiesDialog.cc +++ b/src/layui/layui/layPropertiesDialog.cc @@ -341,6 +341,8 @@ BEGIN_PROTECTED // confine the selection + auto prev_selected = mp_editables->selection_size (); + mp_tree_model->begin_reset_model (); auto selection = mp_ui->tree->selectionModel ()->selectedIndexes (); @@ -409,6 +411,10 @@ BEGIN_PROTECTED update_controls (); + if (m_objects != prev_selected) { + mp_editables->signal_selection_changed (); + } + END_PROTECTED }