создал приложение в котором используется дерево (объект wxTreeCtrl)
имею 2 евента для нужной мне операции
EVT_TREE_ITEM_ACTIVATED(ID_GROUP_TREE, TestMainFrame::OnGroupTreeSelected)
EVT_MENU(ID_EDIT_GROUP, TestMainFrame::OnEditGroup)
вот функции
void TestMainFrame::OnEditGroup(wxCommandEvent & event)
{
EditGroup();
}
void TestMainFrame::OnGroupTreeSelected(wxTreeEvent & event)
{
EditGroup();
}
а вот остальное
void TestMainFrame::EditGroup()
{
item = m_GroupTree->GetSelection();
if(item.IsOk()){
MyTreeItemData * data = (MyTreeItemData *)m_GroupTree->GetItemData(item);
int id = data->GetID();
if(id > 0)
{
wxString grp_name = data->Get_name();
wxString grp_desc = data->Get_desc();
GroupForm * grp = new GroupForm(this);
grp->SetGroupName(grp_name);
if(grp_desc.size() > 0) grp->SetGroupDescription(grp_desc);
if(grp->ShowModal() == wxID_OK)
{
int size_name = (grp->GetGroupName()).size();
wxString name_to_save = grp->GetGroupName();
wxString desc_to_save = grp->GetGroupDesc();
if(size_name < 1 || (grp_name == name_to_save && grp_desc == desc_to_save)){
wxMessageBox(wxT("Пустые значения не допустимы."));
}else{
db = new DB(db_filename, 0);
db->EditGroup(id, name_to_save, desc_to_save);
delete(db);
FillTreeGroup();
}
}
grp->Destroy();
}
}
}
если метод вызывается по клику на меню — все нормально
если даблкликом на итем дерева, то по окончанию срабатывания метода выскакивает ошибка
Windows has triggered a breakpoint in Soft.exe.
This may be due to a corruption of the heap, which indicates a bug in Soft.exe or any of the DLLs it has loaded.
This may also be due to the user pressing F12 while Soft.exe has focus.
The output window may have more diagnostic information.
а в студии подгружается файл window.cpp с курсором в положении выхода из функции(строка 2238)
WXLRESULT wxWindowMSW::MSWDefWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
{
if ( m_oldWndProc )
return ::CallWindowProc(CASTWNDPROC m_oldWndProc, GetHwnd(), (UINT) nMsg, (WPARAM) wParam, (LPARAM) lParam);
else
return ::DefWindowProc(GetHwnd(), nMsg, wParam, lParam);
}
может кто сталкивался???