Hello!

I want to move a branch with drag&drop in a wxtreectrl.

Here is the function, that I use:
Code:
typedef struct sItemRepresentation
{
	wxTreeItemId pTreeItem;
} sItemRepresentation;

void MoveTree(wxTreeItemId &source, wxTreeItemId &dest)
{
	wxTreeItemIdValue cookie;
	wxTreeItemId cdest;

	// 1. Child
	wxTreeItemId child = WxTreeCtrl1->GetFirstChild(source, cookie);
	if (child.IsOk())
	{
		// Add child to destination
		sItemRepresentation selItemRep = m_vItems[child];
		selItemRep.pTreeItem = WxTreeCtrl1->InsertItem(dest,WxTreeCtrl1->GetItemText(selItemRep.pTreeItem));
		m_vItems[selItemRep.pTreeItem] = selItemRep;

		MoveTree(child,selItemRep.pTreeItem);

		// Get next children
		while ((child = WxTreeCtrl1->GetNextChild(child, cookie)).IsOk())
		{


			selItemRep = m_vItems[child];
			wxMessageBox(WxTreeCtrl1->GetItemText(selItemRep.pTreeItem), _T("Error"),wxOK | wxICON_ERROR, this);
			selItemRep.pTreeItem = WxTreeCtrl1->InsertItem(dest,WxTreeCtrl1->GetItemText(selItemRep.pTreeItem));
			m_vItems[selItemRep.pTreeItem] = selItemRep;

			MoveTree(child,selItemRep.pTreeItem);

			child = WxTreeCtrl1->GetNextChild(child, cookie);
		}
	}
}

But the moving of a branch does not work correctly. Some treeitems are just not moved (and I do not see a reason therefore).
I already posted it in the wxwidgets forum, but nobody seems to answer.

Can someone please give me a hint?