]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/docview.cpp
Allow retrieving the descent and external leading of empty strings.
[wxWidgets.git] / src / common / docview.cpp
index 246d247254fab8b99bcaae31ef178fa20c26c98a..fc1c256337baa61a4766a83b34d5bf24dc56f954 100644 (file)
@@ -2075,15 +2075,24 @@ bool wxDocParentFrameAnyBase::TryProcessEvent(wxEvent& event)
     // already forwarded the event to wxDocManager, check for this:
     if ( wxView* const view = m_docManager->GetAnyUsableView() )
     {
-        // Notice that we intentionally don't use wxGetTopLevelParent() here
-        // because we want to check both for the case of a child "frame" (e.g.
-        // MDI child frame or notebook page) inside this TLW and a separate
-        // child TLW frame (as used in the SDI mode) here.
-        for ( wxWindow* win = view->GetFrame(); win; win = win->GetParent() )
+        wxWindow* win = view->GetFrame();
+        if ( win && win != m_frame )
         {
-            if ( win == m_frame )
-                return false;
+            // Notice that we intentionally don't use wxGetTopLevelParent()
+            // here because we want to check both for the case of a child
+            // "frame" (e.g. MDI child frame or notebook page) inside this TLW
+            // and a separate child TLW frame (as used in the SDI mode) here.
+            for ( win = win->GetParent(); win; win = win->GetParent() )
+            {
+                if ( win == m_frame )
+                    return false;
+            }
         }
+        //else: This view is directly associated with the parent frame (which
+        //      can happen in the so called "single" mode in which only one
+        //      document can be opened and so is managed by the parent frame
+        //      itself), there can be no child frame in play so we must forward
+        //      the event to wxDocManager ourselves.
     }
 
     // But forward the event to wxDocManager ourselves if there are no views at