From 80eab46937400548bd2fa97061851c2f2d5e335d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Tue, 23 Nov 1999 20:09:18 +0000 Subject: [PATCH] fixed bug that caused wxHtmlWindow to segfault on html tables with cell(s) with rowspan>=3 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/html/m_tables.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/html/m_tables.cpp b/src/html/m_tables.cpp index af88b562d9..33e24919fb 100644 --- a/src/html/m_tables.cpp +++ b/src/html/m_tables.cpp @@ -169,19 +169,21 @@ void wxHtmlTableCell::ReallocCols(int cols) void wxHtmlTableCell::ReallocRows(int rows) { m_CellInfo = (cellStruct**) realloc(m_CellInfo, sizeof(cellStruct*) * rows); - if (m_NumCols != 0) { - int x = rows - 1; - m_CellInfo[x] = (cellStruct*) malloc(sizeof(cellStruct) * m_NumCols); - for (int i = 0; i < m_NumCols; i++) - m_CellInfo[x][i].flag = cellFree; + for (int row = m_NumRows; row < rows ; row++) + { + if (m_NumCols == 0) + m_CellInfo[row] = NULL; + else + { + m_CellInfo[row] = (cellStruct*) malloc(sizeof(cellStruct) * m_NumCols); + for (int col = 0; col < m_NumCols; col++) + m_CellInfo[row][col].flag = cellFree; + } } - else - m_CellInfo[rows - 1] = NULL; m_NumRows = rows; } - void wxHtmlTableCell::AddRow(const wxHtmlTag& tag) { if (m_ActualRow + 1 > m_NumRows - 1)