diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 3fc43b726..d7944d4de 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -375,12 +375,11 @@ void TextCtrl::BUILD() { { e.Skip(); #ifdef __WXOSX__ - // OSX issue: For some unknown reason wxEVT_KILL_FOCUS is emitted twice in a row + // OSX issue: For some unknown reason wxEVT_KILL_FOCUS is emitted twice in a row in some cases + // (like when information dialog is shown during an update of the option value) // Thus, suppress its second call - if (bKilledFocus) { - bKilledFocus = false; + if (bKilledFocus) return; - } bKilledFocus = true; #endif // __WXOSX__ @@ -391,6 +390,10 @@ void TextCtrl::BUILD() { bEnterPressed = false; else propagate_value(); +#ifdef __WXOSX__ + // After processing of KILL_FOCUS event we should to invalidate a bKilledFocus flag + bKilledFocus = false; +#endif // __WXOSX__ }), temp->GetId()); // select all text using Ctrl+A