]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/winuniv.cpp
Remove some items from the Recent additions list
[wxWidgets.git] / src / univ / winuniv.cpp
index 0044439b981f4d635894dda217a5856d1c4cb5ae..24e2865a77c1de5e989876428d78de9a956469ce 100644 (file)
@@ -128,11 +128,10 @@ bool wxWindow::Create(wxWindow *parent,
     // as under the other platforms
     actualStyle |= wxCLIP_CHILDREN;
 
-#ifdef __WXMSW__
-    // FIXME: may need this on other platforms
     actualStyle &= ~wxVSCROLL;
     actualStyle &= ~wxHSCROLL;
 
+#ifdef __WXMSW__
     // without this, borders (non-client areas in general) are not repainted
     // correctly when resizing; apparently, native NC areas are fully repainted
     // even without this style by MSW, but wxUniv implements client area
@@ -197,6 +196,14 @@ wxWindow::~wxWindow()
 {
     m_isBeingDeleted = true;
 
+#if wxUSE_SCROLLBAR
+    // clear pointers to scrollbar before deleting the children: they are
+    // children and so will be deleted by DestroyChildren() call below and if
+    // any code using the scrollbars would be called in the process or from
+    // ~wxWindowBase, the app would crash:
+    m_scrollbarVert = m_scrollbarHorz = NULL;
+#endif
+
     // we have to destroy our children before we're destroyed because our
     // children suppose that we're of type wxWindow, not just wxWindowNative,
     // and so bad things may happen if they're deleted from the base class dtor
@@ -1304,6 +1311,7 @@ void wxWindow::OnKeyDown(wxKeyEvent& event)
             }
 #endif // wxUSE_MENUS
 
+#if wxUSE_BUTTON
             // if it wasn't in a menu, try to find a button
             if ( command != -1 )
             {
@@ -1319,6 +1327,7 @@ void wxWindow::OnKeyDown(wxKeyEvent& event)
                     }
                 }
             }
+#endif // wxUSE_BUTTON
 
             // don't propagate accels from the child frame to the parent one
             break;