]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/classic/listbox.cpp
Back to previous call with -1 replacement.
[wxWidgets.git] / src / mac / classic / listbox.cpp
index f194f47c6986f3b379e9a57ff7b6d53eb93e194f..d0de7211908e92d497b629330f176f01ea67a927 100644 (file)
 #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)
@@ -926,14 +924,10 @@ void wxListBox::OnChar(wxKeyEvent& event)
 {
     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() );