Summary: | KSpread crashes when rendering obscured cells | ||
---|---|---|---|
Product: | [Applications] calligrasheets | Reporter: | Raphael Langerhorst <raphael.langerhorst> |
Component: | general | Assignee: | Laurent Montel <montel> |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | FreeBSD | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
document that crashes when you scroll up
fixes the crash |
Description
Raphael Langerhorst
2005-07-06 17:45:08 UTC
Created attachment 11697 [details]
document that crashes when you scroll up
open that document and scroll towards cell A1, it will crash.
Created attachment 11698 [details]
fixes the crash
This patch makes KSpread not crash. I didn't closely investigate if it's solved
well, so I don't know if the _bug_ is fixed ;) Please anyone take a look and
apply in branch and trunk. Thanks!
SVN commit 432254 by raphael: Fix crash related to obscured cells in rendering code. Note: There might be some related bugs that caused this crash. Anyway, this code is cleaner and does fix the crash. CCBUG: 108659 M +3 -1 kspread_cell.cc --- trunk/koffice/kspread/kspread_cell.cc #432253:432254 @@ -2488,7 +2488,9 @@ else { // If the cell towards the top is part of a merged cell, get // the pointer to the master cell. - cellUp = cellUp->ultimateObscuringCell(); + if (cellUp->ultimateObscuringCell()) + cellUp = cellUp->ultimateObscuringCell(); + topPen = cellUp->effBottomBorderPen( cellUp->column(), cellUp->row() ); SVN commit 432256 by raphael: KOffice 1.4 Backport Fix crash related to obscured cells in rendering code. Note: There might be some related bugs that caused this crash. Anyway, this code is cleaner and does fix the crash. BUG: 108659 M +3 -1 kspread_cell.cc --- branches/koffice/1.4/koffice/kspread/kspread_cell.cc #432255:432256 @@ -2488,7 +2488,9 @@ else { // If the cell towards the top is part of a merged cell, get // the pointer to the master cell. - cellUp = cellUp->ultimateObscuringCell(); + if (cellUp->ultimateObscuringCell()) + cellUp = cellUp->ultimateObscuringCell(); + topPen = cellUp->effBottomBorderPen( cellUp->column(), cellUp->row() ); |