Ulrich Weigand wrote:
> 
> Uwe Bonnes wrote:
> 
> > I reversed Eric's patch and applied yours and now my crashing example
> > shows:
> >
> > fixme:dc:GetDCEx new hrgnClip[0000] smashes the previous[43b2]
> > fixme:x11drv:error_handler BON:Xerror code 9
> > Xlib: unexpected async reply (sequence 0x6c64)!
> > fixme:seh:EXC_RtlRaiseException BON:res 1
> > fixme:seh:EXC_RtlRaiseException BON:Stack 0x40c56c44 invalid
> > fixme:seh:EXC_RtlRaiseException BON:signal_stack 0x40b41000 0x40b45000
> > err:seh:EXC_DefaultHandling Exception frame is not in stack limits => unable to 
>dispatch exception.
> >
> > and wine keeps hanging there.
> > Those debugmsg with BON in it is added debug output.
> 
> Ok, the problem is that it goes up the exception chain and finds frames
> that were posted while still on the old stack :-/  I don't think that
> unwinding exceptions across stacks is a good idea;  what about the following
> patch that simply catches all exceptions before they leave the large stack?
well, for some winelib applications I don't think so.
why don't we just catch the exception as you propose, but then re-raise it
after switching back to the regular thread's stack ?

-- 
---------------
Eric Pouech (http://perso.wanadoo.fr/eric.pouech/)
"The future will be better tomorrow", Vice President Dan Quayle

Reply via email to