This commit is contained in:
Enrico Turri 2019-01-14 14:42:21 +01:00
parent 01dc8e77ac
commit 6094512f8f
2 changed files with 12 additions and 3 deletions

View file

@ -4662,11 +4662,19 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re
m_camera.set_scene_box(scene_bounding_box(), *this);
m_camera.set_target(m_camera.get_target(), *this);
// if no object is selected, deactivate active gizmo, if any
// otherwise it will be shown after cleaning the scene (while it is active)
if (m_selection.is_empty())
{
// If no object is selected, deactivate the active gizmo, if any
// Otherwise it may be shown after cleaning the scene (if it was active while the objects were deleted)
m_gizmos.reset_all_states();
// If no object is selected, reset the objects manipulator on the sidebar
// to force a reset of its cache
auto manip = wxGetApp().obj_manipul();
if (manip != nullptr)
manip->update_settings_value(m_selection);
}
// and force this canvas to be redrawn.
m_dirty = true;
}

View file

@ -760,7 +760,8 @@ Sidebar& GUI_App::sidebar()
ObjectManipulation* GUI_App::obj_manipul()
{
return sidebar().obj_manipul();
// If this method is called before plater_ has been initialized, return nullptr (to avoid a crash)
return (plater_ != nullptr) ? sidebar().obj_manipul() : nullptr;
}
ObjectSettings* GUI_App::obj_settings()