diff --git a/src/slic3r/GUI/FilamentGroupPopup.cpp b/src/slic3r/GUI/FilamentGroupPopup.cpp index 2cff9c3c82..a29e4537fb 100644 --- a/src/slic3r/GUI/FilamentGroupPopup.cpp +++ b/src/slic3r/GUI/FilamentGroupPopup.cpp @@ -338,7 +338,21 @@ void FilamentGroupPopup::OnRadioBtn(int idx) } } -void FilamentGroupPopup::OnTimer(wxTimerEvent &event) { Dismiss(); } +void FilamentGroupPopup::OnTimer(wxTimerEvent &event) +{ +#if __APPLE__ + // On macOS, when moving cursor from slice button to this popup window, + // the popup window entering event is triggered first, then the slice button + // leaving event got triggered. So the timer is stopped first, then started + // again, causing the popup being dismissed immediately. + // To fix this, we check if cursor is still inside the popup window before + // dismissing. + wxPoint pos = this->ScreenToClient(wxGetMousePosition()); + if (this->GetClientRect().Contains(pos)) return; +#endif + + Dismiss(); +} void FilamentGroupPopup::Dismiss() { m_active = false; diff --git a/src/slic3r/GUI/GUI_Factories.cpp b/src/slic3r/GUI/GUI_Factories.cpp index 2a47fe1aad..90359cc456 100644 --- a/src/slic3r/GUI/GUI_Factories.cpp +++ b/src/slic3r/GUI/GUI_Factories.cpp @@ -121,6 +121,7 @@ std::map> SettingsFactory::PART_CATE {"bottom_shell_thickness", L("Bottom Minimum Shell Thickness"), 1}, {"bottom_surface_density", L("Bottom Surface Density"), 1}, {"sparse_infill_density", "", 1}, + {"fill_multiline", "", 1}, {"sparse_infill_pattern", "", 1}, {"lateral_lattice_angle_1", "", 1}, {"lateral_lattice_angle_2", "", 1}, diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index e80ba82e53..eb95d18e1b 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2448,7 +2448,7 @@ void TabPrint::build() optgroup->append_single_option_line("sparse_infill_density", "strength_settings_infill#sparse-infill-density"); optgroup->append_single_option_line("fill_multiline", "strength_settings_infill#fill-multiline"); optgroup->append_single_option_line("sparse_infill_pattern", "strength_settings_infill#sparse-infill-pattern"); - optgroup->append_single_option_line("gyroid_optimized", "strength_settings_patterns#gyroid_optimized"); + optgroup->append_single_option_line("gyroid_optimized", "strength_settings_patterns#gyroid-optimized"); optgroup->append_single_option_line("infill_direction", "strength_settings_infill#direction"); optgroup->append_single_option_line("sparse_infill_rotate_template", "strength_settings_infill_rotation_template_metalanguage"); optgroup->append_single_option_line("skin_infill_density", "strength_settings_patterns#locked-zag");