diff options
Diffstat (limited to 'misc/koffice/patches/patch-aa')
-rw-r--r-- | misc/koffice/patches/patch-aa | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/misc/koffice/patches/patch-aa b/misc/koffice/patches/patch-aa deleted file mode 100644 index bbd5f82997d..00000000000 --- a/misc/koffice/patches/patch-aa +++ /dev/null @@ -1,55 +0,0 @@ -$NetBSD: patch-aa,v 1.4 2002/10/26 14:31:13 drochner Exp $ - ---- kspread/kspread_cell.cc.orig Wed Sep 4 23:52:50 2002 -+++ kspread/kspread_cell.cc Fri Oct 25 19:12:19 2002 -@@ -1931,20 +1931,40 @@ - while already drawing the obscuring cell -- don't want to cause an - infinite loop - */ -- // Determine the dimension of the cell. -+ -+ /* -+ Store the obscuringCells list in a list of QPoint(column, row) -+ This avoids crashes during the iteration through obscuringCells, -+ when the cells may get non valid or the list itself gets changed -+ during a call of obscuringCell->paintCell (this happens e.g. when -+ there is an updateDepend) -+ */ -+ QValueList<QPoint> listPoints; - QValueList<KSpreadCell*>::iterator it = m_ObscuringCells.begin(); - QValueList<KSpreadCell*>::iterator end = m_ObscuringCells.end(); -- for ( ; it != end; ++it ) { -+ for ( ; it != end; ++it ) -+ { - KSpreadCell *obscuringCell = *it; -- QPoint obscuringCellRef( obscuringCell->column(), obscuringCell->row() ); -- double x = m_pTable->dblColumnPos( obscuringCell->column() ); -- double y = m_pTable->dblRowPos( obscuringCell->row() ); -- QPair<double,double> corner = qMakePair( x, y ); -- painter.save(); -+ listPoints.append( QPoint( obscuringCell->column(), obscuringCell->row() ) ); -+ } -+ -+ QValueList<QPoint>::iterator it1 = listPoints.begin(); -+ QValueList<QPoint>::iterator end1 = listPoints.end(); -+ for ( ; it1 != end1; ++it1 ) -+ { -+ QPoint obscuringCellRef = *it1; -+ KSpreadCell *obscuringCell = m_pTable->cellAt( obscuringCellRef.x(), obscuringCellRef.y() ); -+ if( obscuringCell != 0 ) -+ { -+ double x = m_pTable->dblColumnPos( obscuringCellRef.x() ); -+ double y = m_pTable->dblRowPos( obscuringCellRef.y() ); -+ QPair<double,double> corner = qMakePair( x, y ); -+ painter.save(); - -- obscuringCell->paintCell( rect, painter, view, -- corner, obscuringCellRef ); -- painter.restore(); -+ obscuringCell->paintCell( rect, painter, view, -+ corner, obscuringCellRef ); -+ painter.restore(); -+ } - } - } - } |