Hi rosshalde,
Will you please try one thing for me? Open Preview and your test document, but make sure Preview is showing a page with NO image on it. Then try deleting all of the images and let me know if it still crashes for you.
After about 50 attempts with your second book, I was able to get it to crash once and luckily it was running inside the lldb debugger but unluckily neither Sigil nor Qt was a "debug" build so all I could do was assembler level debugging.
The problem appears to be a multi-thread race of some sort. There are a number of sleep timers being used and Events being processed after varying delay times. That is why I can rarely if ever recreate it. It simply needs a random set of conditions where something is deleted before something else can be properly updated to happen.
This might take quite some time to debug, so your best bet is not to delete multiple tabs or files at the same time when Preview is open. I don't think it matters if it is docked or not. You can have Preview open and use it, just not when trying to delete multiple files.
I will try my best to track this down and get either a workaround or a bug fix out before the next release if I can.
Obviously, when deleting multiple image files, we should be updating the xhtml files loaded in Preview first to point to a placeholder empty image, and then actually deleting said image file. I will double check to make sure that sequence of events is correctly being done (or some other form of proper sequencing).
So please try with Preview open to an xhtml file without any image in it first and see if the mass delete still crashes. That will help me to narrow down where in the Sigil code this may be happening and under what conditions.
Thanks again for your bug report!
Take care,
KevinH
Quote:
Originally Posted by rosshalde
Kevin,
I appreciate your help. If all I have to do it turn off preview, I can live with it.
Let me know if you find anything else.
|