]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/wincmn.cpp
small cleanup
[wxWidgets.git] / src / common / wincmn.cpp
index 9d0b6f45822f2f2e8f49f91cdec5a2e47c9ab8c1..2c79fc55e6d5799307f414956ac0e7f0c2066e8d 100644 (file)
@@ -200,6 +200,8 @@ wxWindowBase::wxWindowBase()
 
     m_virtualSize = wxDefaultSize;
 
+    m_scrollHelper = (wxScrollHelper *) NULL;
+
     m_minVirtualWidth =
     m_maxVirtualWidth = wxDefaultCoord;
     m_minVirtualHeight =
@@ -290,6 +292,18 @@ wxWindowBase::~wxWindowBase()
 
     wxASSERT_MSG( GetChildren().GetCount() == 0, wxT("children not destroyed") );
 
+    // reset the top-level parent's default item if it is this widget
+    if ( m_parent )
+    {
+        wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent((wxWindow*)this),
+                                              wxTopLevelWindow);
+        
+        if ( tlw && tlw->GetDefaultItem() == this )
+            tlw->SetDefaultItem(NULL);
+        if ( tlw && tlw->GetTmpDefaultItem() == this )
+            tlw->SetTmpDefaultItem(NULL);
+    }
+
     // reset the dangling pointer our parent window may keep to us
     if ( m_parent )
     {
@@ -745,9 +759,10 @@ bool wxWindowBase::Enable(bool enable)
     }
 }
 
-bool wxWindowBase::IsVisible() const
+bool wxWindowBase::IsShownOnScreen() const
 {
-    return IsShown() && (GetParent() == NULL || GetParent()->IsVisible());
+    return IsShown() &&
+           (GetParent() == NULL || GetParent()->IsShownOnScreen());
 }
 
 // ----------------------------------------------------------------------------
@@ -2968,6 +2983,7 @@ wxAccStatus wxWindowAccessible::GetFocus(int* WXUNUSED(childId), wxAccessible**
     return wxACC_NOT_IMPLEMENTED;
 }
 
+#if wxUSE_VARIANT
 // Gets a variant representing the selected children
 // of this object.
 // Acceptable values:
@@ -2984,6 +3000,7 @@ wxAccStatus wxWindowAccessible::GetSelections(wxVariant* WXUNUSED(selections))
 
     return wxACC_NOT_IMPLEMENTED;
 }
+#endif // wxUSE_VARIANT
 
 #endif // wxUSE_ACCESSIBILITY