X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d13b34d3f2be575d59747a5926000be7b28a45dc..33f9dbda891b14ea52c7526eede0cce422ce7c4c:/src/html/m_tables.cpp diff --git a/src/html/m_tables.cpp b/src/html/m_tables.cpp index 078525080b..1b96963be3 100644 --- a/src/html/m_tables.cpp +++ b/src/html/m_tables.cpp @@ -135,7 +135,7 @@ wxHtmlTableCell::wxHtmlTableCell(wxHtmlContainerCell *parent, const wxHtmlTag& t if (tag.HasParam(wxT("BGCOLOR"))) { tag.GetParamAsColour(wxT("BGCOLOR"), &m_tBkg); - if (m_tBkg.Ok()) + if (m_tBkg.IsOk()) SetBackgroundColour(m_tBkg); } if (tag.HasParam(wxT("VALIGN"))) @@ -288,7 +288,7 @@ void wxHtmlTableCell::AddCell(wxHtmlContainerCell *cell, const wxHtmlTag& tag) { wxString wd = tag.GetParam(wxT("WIDTH")); - if (wd[wd.length()-1] == wxT('%')) + if (!wd.empty() && wd[wd.length()-1] == wxT('%')) { if ( wxSscanf(wd.c_str(), wxT("%i%%"), &m_ColsInfo[c].width) == 1 ) { @@ -344,7 +344,7 @@ void wxHtmlTableCell::AddCell(wxHtmlContainerCell *cell, const wxHtmlTag& tag) wxColour bk = m_rBkg; if (tag.HasParam(wxT("BGCOLOR"))) tag.GetParamAsColour(wxT("BGCOLOR"), &bk); - if (bk.Ok()) + if (bk.IsOk()) cell->SetBackgroundColour(bk); } if (m_Border > 0) @@ -702,19 +702,18 @@ TAG_HANDLER_BEGIN(TABLE, "TABLE,TR,TD,TH") { if (tag.HasParam(wxT("WIDTH"))) { - wxString wd = tag.GetParam(wxT("WIDTH")); - - if (wd[wd.length()-1] == wxT('%')) - { - int width = 0; - wxSscanf(wd.c_str(), wxT("%i%%"), &width); - m_Table->SetWidthFloat(width, wxHTML_UNITS_PERCENT); - } - else + int width = 0; + bool wpercent = false; + if (tag.GetParamAsIntOrPercent(wxT("WIDTH"), &width, wpercent)) { - int width = 0; - wxSscanf(wd.c_str(), wxT("%i"), &width); - m_Table->SetWidthFloat((int)(m_WParser->GetPixelScale() * width), wxHTML_UNITS_PIXELS); + if (wpercent) + { + m_Table->SetWidthFloat(width, wxHTML_UNITS_PERCENT); + } + else + { + m_Table->SetWidthFloat((int)(m_WParser->GetPixelScale() * width), wxHTML_UNITS_PIXELS); + } } } else