ObjectList: Fixed selection, when object part is moving/rotating/scaling and "Sinking" info is appearing/disappearing.

+ Reverted "patch" commit e65ebccb7f
This commit is contained in:
YuSanka 2023-03-28 16:41:08 +02:00
parent f0949f30eb
commit 91f6530acf
2 changed files with 10 additions and 4 deletions

View File

@ -2939,6 +2939,16 @@ void ObjectList::update_info_items(size_t obj_idx, wxDataViewItemArray* selectio
if (obj_idx >= m_objects->size()) if (obj_idx >= m_objects->size())
return; return;
wxDataViewItemArray sels;
if (!selections) {
GetSelections(sels);
for (wxDataViewItem item : sels)
if (item.IsOk() && m_objects_model->GetItemType(item) == itVolume) {
selections = &sels;
break;
}
}
const ModelObject* model_object = (*m_objects)[obj_idx]; const ModelObject* model_object = (*m_objects)[obj_idx];
wxDataViewItem item_obj = m_objects_model->GetItemById(obj_idx); wxDataViewItem item_obj = m_objects_model->GetItemById(obj_idx);
assert(item_obj.IsOk()); assert(item_obj.IsOk());

View File

@ -369,10 +369,6 @@ bool GLGizmoEmboss::on_mouse_for_translate(const wxMouseEvent &mouse_event)
bool res = on_mouse_surface_drag(mouse_event, camera, m_surface_drag, m_parent, m_raycast_manager, up_limit); bool res = on_mouse_surface_drag(mouse_event, camera, m_surface_drag, m_parent, m_raycast_manager, up_limit);
bool is_dragging = m_surface_drag.has_value(); bool is_dragging = m_surface_drag.has_value();
// Check if selection is still active
if (m_volume == nullptr)
return false;
// End with surface dragging? // End with surface dragging?
if (was_dragging && !is_dragging) { if (was_dragging && !is_dragging) {
// Update surface by new position // Update surface by new position