On 4/8/19 3:56 AM, Will Godfrey wrote:
My guess is that the delete
operation has left an invalid pointer somewhere.

There are definitely bad pointers left around in the code. Intentionally. (!?) See the comments in SequenceManager::segmentDeleted(). If, as I explain there, the memory manager decides to hand you a pointer to the same block of memory again (a very reasonable possibility), then we've got a crash in the making. This might explain why some see it and some don't. Different memory manager behavior.

However, if *immediately* after doing the delete, I save the file it seems to
sort everything out and is then OK.

Save might be scrambling the memory manager enough that the same pointer address doesn't get reused.

I'll see if I can reproduce this given all the new info. It would be nice to have confirmation that SequenceManager is the culprit. If I can't reproduce, I'll have a closer look at fixing all the intentional dangling pointers. It's something that needs to be done anyway.


Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe

Reply via email to