Thinking about large files.

Adrian Page adrian at pagenet.plus.com
Mon Jun 20 00:27:34 CEST 2005


Casper Boemann wrote:
> On Monday 20 June 2005 00:11, Bart Coppens wrote:
> 
>>On Monday 20 June 2005 00:03, Casper Boemann wrote:
>>
>>>Explaind by this I would imagine:
>>>
>>>KisTransaction::~KisTransaction()
>>>{
>>> if (m_memento) {
>>>  // For debugging purposes
>>>  m_memento -> setInvalid();
>>> }
>>>}
>>
>>Ah, but the memento is not actually deleted, right? So all the tiles it
>>references to continue to exist?
> 
> Yes, it would sem so.
> Question is why. I would certainly think it would be ok to delete.

m_mememto is a shared pointer so the memento will automatically be 
deleted when the last reference is removed. The tile manager can hold 
another reference while the memento is being created. The lack of 
reference counting was the main reason for the undo/redo crashes.

You could put a kdDebug in the mememnto's destructor to see if they 
really do get destroyed.

Adrian


More information about the kimageshop mailing list