END_EVENT_TABLE()
#endif
+IMPLEMENT_CLASS(wxToolBarBase, wxControl)
+
#include "wx/listimpl.cpp"
WX_DEFINE_LIST(wxToolBarToolsList);
// Do the toolbar button updates (check for EVT_UPDATE_UI handlers)
void wxToolBarBase::DoToolbarUpdates()
{
- wxEvtHandler* evtHandler = GetEventHandler();
+ wxWindow* parent = this;
+ while (parent->GetParent())
+ parent = parent->GetParent();
+
+#ifdef __WXMSW__
+ wxWindow* focusWin = wxFindFocusDescendant(parent);
+#else
+ wxWindow* focusWin = (wxWindow*) NULL;
+#endif
+
+ wxEvtHandler* evtHandler = focusWin ? focusWin->GetEventHandler() : GetEventHandler() ;
for ( wxToolBarToolsList::Node* node = m_tools.GetFirst();
node;