Are you sure the problem is not in this code (from btswitcherdlg.cpp)?
BEGIN_EVENT_TABLE(wxSwitcherDialog, wxScrollingDialog)
EVT_CLOSE(wxSwitcherDialog::OnCloseWindow)
EVT_ACTIVATE(wxSwitcherDialog::OnActivate)
EVT_LISTBOX(wxID_ANY, wxSwitcherDialog::OnSelectItem)
EVT_PAINT(wxSwitcherDialog::OnPaint)
END_EVENT_TABLE()
because the assert specify wxEventTableEntryBase(), not Connect(). Also, the assert appeared between 12458 and 12483, and the file above was added in 12470.
I'm sure. I used debug to trace to the connect() statement.
And it makes sense. The connect() was using a range of id's created by XRCID() expressions which were not sequential. So wx complained.
I separated the connects() and the problem went away.
Also, the problem was in DragScroll, not BrowseTracker.
Thanks.