]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/panelg.cpp
some != NULL checks
[wxWidgets.git] / src / generic / panelg.cpp
index 24fcb03ba4660191b2a81bde650d535c959bbaef..2a91143d97638293a2045f0f7321136822d40408 100644 (file)
@@ -121,9 +121,11 @@ void wxPanel::OnSize(wxSizeEvent& WXUNUSED(event))
 
 void wxPanel::OnNavigationKey( wxNavigationKeyEvent& event )
 {
-    // there is not much to do if we have only one child (or not at all) and
-    // we're not interested in "notebook page change" events here
-    if ( (GetChildren().GetCount() < 2) || event.IsWindowChange() )
+    const wxWindowList& children = GetChildren();
+
+    // there is not much to do if we don't have children and we're not
+    // interested in "notebook page change" events here
+    if ( !children.GetCount() || event.IsWindowChange() )
     {
         wxWindow *parent = GetParent();
         if ( !parent || !parent->GetEventHandler()->ProcessEvent(event) )
@@ -144,8 +146,6 @@ void wxPanel::OnNavigationKey( wxNavigationKeyEvent& event )
     // the event is propagated downwards if the event emitter was our parent
     bool goingDown = event.GetEventObject() == GetParent();
 
-    const wxWindowList& children = GetChildren();
-
     // we should start from the first/last control and not from the one which
     // had focus the last time if we're propagating the event downwards because
     // for our parent we look like a single control
@@ -274,6 +274,7 @@ void wxPanel::OnNavigationKey( wxNavigationKeyEvent& event )
             }
             //else: the child manages its focus itself
 
+            event.Skip( FALSE );
             return;
         }
 
@@ -313,7 +314,8 @@ void wxPanel::SetFocus()
     //     think my addition to OnNavigationKey() above takes care of it.
     //     Keeping #ifdef __WXGTK__ for now, but please try removing it and see
     //     what happens.
-    // RR: Removed for now.
+    //
+    // RR: Removed for now. Let's see what happens..
 
     if ( !SetFocusToChild() )
     {