diff --git a/aegisub/src/timeedit_ctrl.cpp b/aegisub/src/timeedit_ctrl.cpp index 377b9570f..aa69b2e70 100644 --- a/aegisub/src/timeedit_ctrl.cpp +++ b/aegisub/src/timeedit_ctrl.cpp @@ -94,6 +94,7 @@ TimeEdit::TimeEdit(wxWindow* parent, wxWindowID id, agi::Context *c, const wxStr Bind(wxEVT_KEY_DOWN, &TimeEdit::OnKeyDown, this); Bind(wxEVT_COMMAND_MENU_SELECTED, std::tr1::bind(&TimeEdit::CopyTime, this), Time_Edit_Copy); Bind(wxEVT_COMMAND_MENU_SELECTED, std::tr1::bind(&TimeEdit::PasteTime, this), Time_Edit_Paste); + Bind(wxEVT_KILL_FOCUS, &TimeEdit::OnFocusLost, this); } void TimeEdit::SetTime(AssTime new_time) { @@ -201,6 +202,12 @@ void TimeEdit::OnContextMenu(wxContextMenuEvent &evt) { PopupMenu(&menu); } +void TimeEdit::OnFocusLost(wxFocusEvent &evt) { + if (insert || byFrame) + UpdateText(); + evt.Skip(); +} + void TimeEdit::CopyTime() { if (wxTheClipboard->Open()) { wxTheClipboard->SetData(new wxTextDataObject(GetValue())); diff --git a/aegisub/src/timeedit_ctrl.h b/aegisub/src/timeedit_ctrl.h index 29cd9cbc8..1e4dd4cf2 100644 --- a/aegisub/src/timeedit_ctrl.h +++ b/aegisub/src/timeedit_ctrl.h @@ -67,6 +67,7 @@ class TimeEdit : public wxTextCtrl { void UpdateText(); void OnContextMenu(wxContextMenuEvent &event); + void OnFocusLost(wxFocusEvent &evt); void OnInsertChanged(agi::OptionValue const& opt); void OnKeyDown(wxKeyEvent &event); void OnModified(wxCommandEvent &event);