+ wxEvtHandler *handlerPrev = NULL,
+ *handler = m_win->GetEventHandler();
+ while ( handler )
+ {
+ if ( handler == m_handler )
+ {
+ wxEvtHandler *handlerNext = handler->GetNextHandler();
+ if ( handlerPrev )
+ {
+ handlerPrev->SetNextHandler(handlerNext);
+ }
+ else
+ {
+ m_win->SetEventHandler(handlerNext);
+ }
+
+ handler->SetNextHandler(NULL);
+ delete handler;
+ m_handler = NULL;
+
+ return;
+ }
+
+ handlerPrev = handler;
+ handler = handler->GetNextHandler();
+ }
+
+ wxFAIL_MSG( _T("where has our event handler gone?") );