Jorge wrote:
On Sat, Sep 27, 2008 at 05:38:03PM -0400, Jorge Arellano Cid wrote:
On Sat, Sep 27, 2008 at 05:29:28PM +0000, corvid wrote:
It's still possible to crash dillo if you click on a remote link and quickly click on some images to load them. Doesn't crash every time, but typically within four tries or so. I had assumed it was the same thing as whatever was wrong with the menu crash, so I'd ignored it.
If I stick a_Bw_stop_clients(bw, BW_Img); in the DilloHtml destructor, I can no longer get it to crash, but I randomly got a "Cache_process_queue Caught busy!!!" while browsing earlier today, so there's something wrong with just doing that. (Assuming it's related; I'm not in the habit of getting that MSG.)
That message means big trouble: the event loop stepped over itself...
I've tried several different ways but can't get to crash it.
Does the attached patch help?
-- Cheers Jorge.-
diff -pru dillo2/src/html.cc dillo2-cur/src/html.cc --- dillo2/src/html.cc 2008-09-27 15:11:08.000000000 -0400 +++ dillo2-cur/src/html.cc 2008-09-27 17:34:21.000000000 -0400 @@ -711,6 +711,8 @@ bool_t DilloHtml::unloadedImages() */ void DilloHtml::loadImages (const DilloUrl *pattern) { + dReturn_if_fail (bw->nav_expecting == FALSE); + for (int i = 0; i < images->size(); i++) { if (images->get(i)->image) { if ((!pattern) || (!a_Url_cmp(images->get(i)->url, pattern))) {
Can you still crash dillo this way, with the latest CVS? (i.e. without the above patch).
Yes. Also, I found out why loading was sometimes randomly disabled (as mentioned yesterday). You know how leaving the window sometimes causes an extra Nav_open_url()? That was turning nav_expecting back on. The following patch has gotten rid of those for me: