diff --git a/aegisub/subs_edit_ctrl.cpp b/aegisub/subs_edit_ctrl.cpp index 7a67b8e09..45dc5b475 100644 --- a/aegisub/subs_edit_ctrl.cpp +++ b/aegisub/subs_edit_ctrl.cpp @@ -125,6 +125,7 @@ SubsTextEditCtrl::SubsTextEditCtrl(wxWindow* parent, wxWindowID id, const wxStri delim = _T(" .,;:!?żĄ-(){}[]\"/\\"); // Prototypes for call tips + tipProtoN = -1; proto.Add(_T("move(x1,y1,x2,y2)")); proto.Add(_T("move(x1,y1,x2,y2,startTime,endTime)")); proto.Add(_T("fn;FontName")); @@ -515,6 +516,7 @@ void SubsTextEditCtrl::UpdateCallTip() { wxString useProto; wxString cleanProto; wxString protoName; + int protoN; bool semiProto = false; for (unsigned int i=0;i= tagCommas) { // Found useProto = proto[i]; + protoN = i; break; } } @@ -580,7 +583,8 @@ void SubsTextEditCtrl::UpdateCallTip() { } // Show calltip - CallTipShow(pos,cleanProto); + if (!CallTipActive() || tipProtoN != protoN) CallTipShow(GetUnicodePosition(tagStart),cleanProto); + tipProtoN = protoN; CallTipSetHighlight(highStart,highEnd); } diff --git a/aegisub/subs_edit_ctrl.h b/aegisub/subs_edit_ctrl.h index 7330d9b5b..ecfcec498 100644 --- a/aegisub/subs_edit_ctrl.h +++ b/aegisub/subs_edit_ctrl.h @@ -64,6 +64,7 @@ private: int currentWordPos; wxArrayString proto; + int tipProtoN; void OnMouseEvent(wxMouseEvent &event);