]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/winuniv.cpp
reset the tooltip text before changing it, this apparently prevents a spurious redraw...
[wxWidgets.git] / src / univ / winuniv.cpp
index 90bb87c58f2780dc5dc4e3c3cae36d0d88fa8053..41b166cc4d8032e0d1537e58d532b9c6d39bf734 100644 (file)
@@ -92,6 +92,8 @@ public:
     IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowMSW)
 #elif defined(__WXGTK__)
     IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowGTK)
+#elif defined(__WXOSX_OR_COCOA__)
+    IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowMac)
 #elif defined(__WXMGL__)
     IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowMGL)
 #elif defined(__WXDFB__)
@@ -127,7 +129,7 @@ void wxWindow::Init()
 {
 #if wxUSE_SCROLLBAR
     m_scrollbarVert =
-    m_scrollbarHorz = (wxScrollBar *)NULL;
+    m_scrollbarHorz = NULL;
 #endif // wxUSE_SCROLLBAR
 
     m_isCurrent = false;
@@ -145,6 +147,11 @@ bool wxWindow::Create(wxWindow *parent,
                       long style,
                       const wxString& name)
 {
+    // Get default border
+    wxBorder border = GetBorder(style);
+    style &= ~wxBORDER_MASK;
+    style |= border;
+
     long actualStyle = style;
 
     // we add wxCLIP_CHILDREN to get the same ("natural") behaviour under MSW
@@ -217,7 +224,7 @@ bool wxWindow::Create(wxWindow *parent,
 
 wxWindow::~wxWindow()
 {
-    m_isBeingDeleted = true;
+    SendDestroyEvent();
 
 #if wxUSE_SCROLLBAR
     // clear pointers to scrollbar before deleting the children: they are
@@ -361,6 +368,11 @@ bool wxWindow::DoDrawBackground(wxDC& dc)
     wxWindow * const parent = GetParent();
     if ( HasTransparentBackground() && !UseBgCol() && parent )
     {
+        // DirectFB paints the parent first, then its child windows, so by
+        // the time this code is called, parent's background was already
+        // drawn and there's no point in (imperfectly!) duplicating the work
+        // here:
+#ifndef __WXDFB__
         wxASSERT( !IsTopLevel() );
 
         wxPoint pos = GetPosition();
@@ -383,6 +395,7 @@ bool wxWindow::DoDrawBackground(wxDC& dc)
 
         // Restore DC logical origin
         dc.SetLogicalOrigin( org_x, org_y );
+#endif // !__WXDFB__
     }
     else
     {
@@ -659,7 +672,7 @@ void wxWindow::OnSize(wxSizeEvent& event)
             }
         }
         else
-        if (HasFlag( wxSUNKEN_BORDER ) || HasFlag( wxRAISED_BORDER ))
+        if (HasFlag( wxSUNKEN_BORDER ) || HasFlag( wxRAISED_BORDER ) || HasFlag( wxBORDER_THEME ))
         {
             if (newSize.y > m_oldSize.y)
             {