/////////////////////////////////////////////////////////////////////////////
-// Name:        m_tables.cpp
+// Name:        src/html/m_tables.cpp
 // Purpose:     wxHtml module for tables
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
 
 #include "wx/wxprec.h"
 
-#include "wx/defs.h"
-#if wxUSE_HTML && wxUSE_STREAMS
 #ifdef __BORLANDC__
-#pragma hdrstop
+    #pragma hdrstop
 #endif
 
-#ifndef WXPRECOMP
+#if wxUSE_HTML && wxUSE_STREAMS
+
+#ifndef WX_PRECOMP
+    #include "wx/wxcrtvararg.h"
 #endif
 
 #include "wx/html/forcelnk.h"
 
 public:
     wxHtmlTableCell(wxHtmlContainerCell *parent, const wxHtmlTag& tag, double pixel_scale = 1.0);
-    ~wxHtmlTableCell();
+    virtual ~wxHtmlTableCell();
 
     virtual void RemoveExtraSpacing(bool top, bool bottom);
 
 
     /* scan params: */
     if (tag.HasParam(wxT("BGCOLOR")))
+    {
         tag.GetParamAsColour(wxT("BGCOLOR"), &m_tBkg);
+        if (m_tBkg.Ok())
+            SetBackgroundColour(m_tBkg);
+    }
     if (tag.HasParam(wxT("VALIGN")))
         m_tValign = tag.GetParam(wxT("VALIGN"));
     else
         {
             wxString wd = tag.GetParam(wxT("WIDTH"));
 
-            if (wd[wd.Length()-1] == wxT('%'))
+            if (wd[wd.length()-1] == wxT('%'))
             {
                 wxSscanf(wd.c_str(), wxT("%i%%"), &m_ColsInfo[c].width);
                 m_ColsInfo[c].units = wxHTML_UNITS_PERCENT;
                 {
                     wxString wd = tag.GetParam(wxT("WIDTH"));
 
-                    if (wd[wd.Length()-1] == wxT('%'))
+                    if (wd[wd.length()-1] == wxT('%'))
                     {
                         int width = 0;
                         wxSscanf(wd.c_str(), wxT("%i%%"), &width);