[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/koffice/1.4/koffice/kspread
From:       Raphael Langerhorst <raphael-langerhorst () gmx ! at>
Date:       2005-07-07 12:38:41
Message-ID: 1120739921.863948.31517.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 432459 by raphael:

KOffice 1.4 Backport

Further improvements regarding obscured cells,

KSpreadCell::ultimateObscuringCell() did not check
if the list is empty, thus it _could_ return NULL
if the caller did not check isObscured()


 M  +5 -1      CHANGES  
 M  +7 -3      kspread_cell.cc  


--- branches/koffice/1.4/koffice/kspread/CHANGES #432458:432459
@@ -1,5 +1,9 @@
+since 1.4.0
+===========
+- Fix potential crash when rendering obscured cells (#108659)
+
 since 1.4-beta1
-=============================
+===============
 - Use General/Blank Worksheet as default template.
 - KSpread crashes on exit if there is a chart in the sheet (#101915).
 - The data editor is disabled for charts which has been loaded.
--- branches/koffice/1.4/koffice/kspread/kspread_cell.cc #432458:432459
@@ -825,7 +825,12 @@
   if (!d->hasExtra())
     return (KSpreadCell *) this;
 
-  return d->extra()->obscuringCells.first();
+  else if (d->extra()->obscuringCells.isEmpty())
+    return (KSpreadCell *) this;
+
+  else
+    return d->extra()->obscuringCells.first();
+
 #if 0
   QValueList<KSpreadCell*>::const_iterator it = d->extra()->obscuringCells.begin();
   QValueList<KSpreadCell*>::const_iterator end = d->extra()->obscuringCells.end();
@@ -2488,8 +2493,7 @@
 	  else {
 	  // If the cell towards the top is part of a merged cell, get
 	  // the pointer to the master cell.
-	    if (cellUp->ultimateObscuringCell())
-	      cellUp = cellUp->ultimateObscuringCell();
+	    cellUp = cellUp->ultimateObscuringCell();
 	    
 	    topPen = cellUp->effBottomBorderPen( cellUp->column(),
 						 cellUp->row() );
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic