This is useless and can apparently result in some problems as of r25877 and
r25877 (from 8 years ago) added explicit checks preventing processing such
events in wxToolBar and wxMenu. Instead, simply don't generate these events in
the first place and also remove the now unnecessary checks for them.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70179
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
while (node)
{
wxWindow* win = node->GetData();
- if (win->SendIdleEvents(event))
+
+ // Don't send idle events to the windows that are about to be destroyed
+ // anyhow, this is wasteful and unexpected.
+ if ( !wxPendingDelete.Member(win) && win->SendIdleEvents(event) )
needMore = true;
node = node->GetNext();
}
void wxMenuBase::UpdateUI(wxEvtHandler* source)
{
wxWindow * const win = GetWindow();
- if ( win )
- {
- // Don't update menus if the parent
- // frame is about to get deleted
- wxWindow *tlw = wxGetTopLevelParent(win);
- if (tlw && wxPendingDelete.Member(tlw))
- return;
- }
if ( !source && win )
source = win->GetEventHandler();
if ( !IsShown() )
return;
- // There is no sense in updating the toolbar UI
- // if the parent window is about to get destroyed
- wxWindow *tlw = wxGetTopLevelParent( this );
- if (tlw && wxPendingDelete.Member( tlw ))
- return;
-
wxEvtHandler* evtHandler = GetEventHandler() ;
for ( wxToolBarToolsList::compatibility_iterator node = m_tools.GetFirst();