if ( IsTreeEventAllowed(changingEvent) )
{
+ TempSetter set(m_changingSelection);
+
if ( !TreeView_SelectItem(GetHwnd(), HITEM(itemNew)) )
{
wxLogLastError(wxT("TreeView_SelectItem"));
}
else // ok
{
- SetFocusedItem(item);
+ ::SetFocus(GetHwnd(), HITEM(item));
wxTreeEvent changedEvent(wxEVT_COMMAND_TREE_SEL_CHANGED,
this, itemNew);
//
// to avoid such surprises, we force the generation of focus events
// now, before we generate the selection change ones
- SetFocus();
+ if ( !m_changingSelection )
+ SetFocus();
break;
// instead of explicitly checking for _WIN32_IE, check if the