[prev in list] [next in list] [prev in thread] [next in thread]
List: kfm-devel
Subject: Re: Patch: Crash: blocking JS alert and deleting a window
From: Koos Vriezen <koos.vriezen () xs4all ! nl>
Date: 2002-10-22 18:42:32
[Download RAW message or body]
On Tue, 22 Oct 2002, David Faure wrote:
> I think the fix for this crash would be to comment out the
> setOnHold(false) / direct call / setOnHold(true)
> and go back to the 0-timer solution. Can't remember any drawback of that approach,
> except that so many 0-timers in the code are getting hard to debug.
Still amazes me how far you can get without using threads this way.
> But here it's about popping up a msg box and if 'yes', a new window, so it's
> rather unrelated to the rest.
>
> My suggested patch, then:
>
> Index: render_frames.cpp
> ===================================================================
> RCS file: /home/kde/kdelibs/khtml/rendering/render_frames.cpp,v
> retrieving revision 1.143
> diff -u -p -r1.143 render_frames.cpp
> - --- render_frames.cpp 2002/10/17 02:29:50 1.143
> +++ render_frames.cpp 2002/10/22 08:45:59
> @@ -767,10 +767,12 @@ bool RenderPartObject::partLoadingErrorN
> // Dissociate ourselves from the current event loop (to prevent crashes
> // due to the message box staying up)
> QTimer::singleShot( 0, this, SLOT( slotPartLoadingErrorNotify() ) );
> +#if 0
> Tokenizer *tokenizer = static_cast<DOM::DocumentImpl *>(part->document().handle())->tokenizer();
> if (tokenizer) tokenizer->setOnHold( true );
> slotPartLoadingErrorNotify();
> if (tokenizer) tokenizer->setOnHold( false );
> +#endif
> return false;
> }
This works for me with Dirk's workaround reverted.
Thanks for your fix,
Koos
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic