Patch: Crash: blocking JS alert and deleting a window
Koos Vriezen
koos.vriezen at xs4all.nl
Tue Oct 22 19:42:32 BST 2002
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
More information about the kfm-devel
mailing list