#ifndef WX_PRECOMP
#include "wx/dynarray.h"
#include "wx/log.h"
+ #include "wx/app.h"
+ #include "wx/utils.h"
+ #include "wx/button.h"
+ #include "wx/settings.h"
+ #include "wx/toplevel.h"
#endif
-#include "wx/app.h"
-#include "wx/button.h"
-#include "wx/settings.h"
-#include "wx/toplevel.h"
-
-#include "wx/utils.h"
-
IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl)
BEGIN_EVENT_TABLE(wxListBox, wxControl)
{
if ( event.GetKeyCode() == WXK_RETURN || event.GetKeyCode() == WXK_NUMPAD_ENTER)
{
- wxWindow* parent = GetParent() ;
- while( parent && !parent->IsTopLevel() && parent->GetDefaultItem() == NULL )
- parent = parent->GetParent() ;
-
- if ( parent && parent->GetDefaultItem() )
+ wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
+ if ( tlw && tlw->GetDefaultItem() )
{
- wxButton *def = wxDynamicCast(parent->GetDefaultItem(),
- wxButton);
+ wxButton *def = wxDynamicCast(tlw->GetDefaultItem(), wxButton);
if ( def && def->IsEnabled() )
{
wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, def->GetId() );