void GitConsole::OnDropDownMenuEvent(wxCommandEvent& event) { int id = event.GetId(); GitCommandData* userdata = static_cast<GitCommandData*>(event.GetEventUserData()); wxCHECK_RET((int)userdata->arr.GetCount() > event.GetId(), "Out-of-range ID"); event.SetString(userdata->arr.Item(id)); event.SetId(userdata->id); wxPostEvent(m_git, event); // We've now populated the event object with useful data, so get GitPlugin to process it clConfig conf("git.conf"); GitEntry data; conf.ReadItem(&data); GitCommandsEntries& ce = data.GetGitCommandsEntries(userdata->name); ce.SetLastUsedCommandIndex(id); conf.WriteItem(&data); conf.Save(); }