diff --git a/src/slic3r/GUI/GUI_Factories.cpp b/src/slic3r/GUI/GUI_Factories.cpp index 60049c865..4c12fbe23 100644 --- a/src/slic3r/GUI/GUI_Factories.cpp +++ b/src/slic3r/GUI/GUI_Factories.cpp @@ -998,12 +998,13 @@ void MenuFactory::append_menu_item_edit_text(wxMenu *menu) wxString description = _L("Ability to change text, font, size, ..."); std::string icon = ""; - append_menu_item( - menu, wxID_ANY, name, description, - [](wxCommandEvent &) { - plater()->canvas3D()->get_gizmos_manager().open_gizmo(GLGizmosManager::Emboss); - }, - icon, nullptr, can_edit_text, m_parent); + auto open_emboss = [](const wxCommandEvent &) { + GLGizmosManager &mng = plater()->canvas3D()->get_gizmos_manager(); + if (mng.get_current_type() == GLGizmosManager::Emboss) + mng.open_gizmo(GLGizmosManager::Emboss); // close() and reopen - move to be visible + mng.open_gizmo(GLGizmosManager::Emboss); + }; + append_menu_item(menu, wxID_ANY, name, description, open_emboss, icon, nullptr, can_edit_text, m_parent); } MenuFactory::MenuFactory()