diff --git a/xs/src/slic3r/GUI/Field.cpp b/xs/src/slic3r/GUI/Field.cpp index 352219853..452e4c90d 100644 --- a/xs/src/slic3r/GUI/Field.cpp +++ b/xs/src/slic3r/GUI/Field.cpp @@ -228,10 +228,13 @@ namespace Slic3r { namespace GUI { }), temp->GetId()); #endif // __WXGTK__ - temp->Bind(wxEVT_TEXT, ([this](wxCommandEvent) + temp->Bind(wxEVT_TEXT, ([this](wxCommandEvent& evt) { #ifdef __WXGTK__ - bChangedValueEvent = true; + if (bChangedValueEvent) + change_field_value(evt); + else + bChangedValueEvent = true; #else on_change_field(); #endif //__WXGTK__ @@ -270,7 +273,9 @@ namespace Slic3r { namespace GUI { #ifdef __WXGTK__ void TextCtrl::change_field_value(wxEvent& event) { - if (bChangedValueEvent) { + if (event.GetEventType() == wxEVT_TEXT_PASTE) + bChangedValueEvent = true; + else if (bChangedValueEvent) { on_change_field(); bChangedValueEvent = false; }