]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/winuniv.cpp
avoid undefined behavior from token paste resulting in more than one token
[wxWidgets.git] / src / univ / winuniv.cpp
index 90bb87c58f2780dc5dc4e3c3cae36d0d88fa8053..bea3acdaf1054b8d819516b8d54fe1f612a23b11 100644 (file)
@@ -145,6 +145,11 @@ bool wxWindow::Create(wxWindow *parent,
                       long style,
                       const wxString& name)
 {
                       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
     long actualStyle = style;
 
     // we add wxCLIP_CHILDREN to get the same ("natural") behaviour under MSW
@@ -361,6 +366,11 @@ bool wxWindow::DoDrawBackground(wxDC& dc)
     wxWindow * const parent = GetParent();
     if ( HasTransparentBackground() && !UseBgCol() && parent )
     {
     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();
         wxASSERT( !IsTopLevel() );
 
         wxPoint pos = GetPosition();
@@ -383,6 +393,7 @@ bool wxWindow::DoDrawBackground(wxDC& dc)
 
         // Restore DC logical origin
         dc.SetLogicalOrigin( org_x, org_y );
 
         // Restore DC logical origin
         dc.SetLogicalOrigin( org_x, org_y );
+#endif // !__WXDFB__
     }
     else
     {
     }
     else
     {
@@ -659,7 +670,7 @@ void wxWindow::OnSize(wxSizeEvent& event)
             }
         }
         else
             }
         }
         else
-        if (HasFlag( wxSUNKEN_BORDER ) || HasFlag( wxRAISED_BORDER ))
+        if (HasFlag( wxSUNKEN_BORDER ) || HasFlag( wxRAISED_BORDER ) || HasFlag( wxBORDER_THEME ))
         {
             if (newSize.y > m_oldSize.y)
             {
         {
             if (newSize.y > m_oldSize.y)
             {