It looks like:
void NativeParser::ReparseSelectedProject()
{
wxTreeCtrl* tree = Manager::Get()->GetProjectManager()->GetTree();
if (!tree)
return;
wxTreeItemId treeItem = tree->GetSelection();
if (!treeItem.IsOk())
return;
const FileTreeData* data = static_cast<FileTreeData*>(tree->GetItemData(treeItem));
if (!data)
return;
if (data->GetKind() == FileTreeData::ftdkProject)
{
cbProject* project = data->GetProject();
if (project)
{
DeleteParser(project);
CreateParser(project);
}
}
}
Then, we always return from this:
wxTreeItemId treeItem = tree->GetSelection();
if (!treeItem.IsOk())
return;
Why?