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

List:       koffice-devel
Subject:    Crash in KSpread - ERROR: Circle
From:       Philipp =?iso-8859-1?q?M=FCller?= <philipp.mueller () gmx ! de>
Date:       2002-08-18 14:17:28
[Download RAW message or body]

Hi again,

Laurent pointed to a crash:
1. Enable error-messageboxes: Configure-various-show error messages.
2. Type in A1: =a
crash

(3. It doesn't crash on A1: =1**A)

Looking into the reason is an invalide cell in m_ObscuringCells (called in 
paintCell) and the call cell->column().

I couldn't find the real reason (why do we get an invalid cell), as this 
routine is called several times and I don't know why.

But one thing was interesting: It's the debug message: "ERROR: ERROR: Circle"
Circle shouldn't appear at all in this case.

This is printed as it seems, that the respecitve cell is calculated more than 
once. So the calculation calls itself!

On all the places where we call ->calc there is only one which doesn't seem to 
make sense. It's in paintCell. In the middle we make calc(). Calculation 
during painting seems to be generally the wrong approach, as we may change 
the content while we are painting. This can make some problems in any case...

Commenting this calc() gives away the crash and the debug message.
Checking shortly some of the possible situation didn't give me any harm, so it 
seems to be save.

So my question now: Can we remove this calc() within paintCell()?
Do you know any circumstance where this is needed?

Philipp
_______________________________________________
koffice-devel mailing list
koffice-devel@mail.kde.org
http://mail.kde.org/mailman/listinfo/koffice-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

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