Hi Koen,

Coming back to this problem:

> I found the problem, and pushed a fix to public git. The following is
> a patch which you could also apply on 3.1.0.
> Regards,
> koen
> diff --git a/src/Wt/WResource.C b/src/Wt/WResource.C
> index c960b25..df8876e 100644
> --- a/src/Wt/WResource.C
> +++ b/src/Wt/WResource.C
> @@ -86,7 +86,7 @@ void WResource::handle(WebRequest *webRequest,
> WebResponse *webResponse,
>   // lock
>   if (!continuation) {
>     WebSession::Handler *h = WebSession::Handler::instance();
> -    if (h)
> +    if (h && h->lock().owns_lock())
>       h->lock().unlock();
>   }
> #endif // WT_THREADED

Although this fix seems to have partially fixed the problem, I am seeing an 
issue that I did not notice before.  Now, when I create a modal WDialog and 
call the dialog's exec() I get a boost::lock_error exception thrown: - - [2010-Feb-03 10:16:51.291922] "POST 
/?wtd=YprzPnQp14Uuo2MY&rand=36635 HTTP/1.1" 200 0
[2010-Feb-03 10:16:51.293761] 10621 [/ YprzPnQp14Uuo2MY] [error] "Error during 
event handling: boost::lock_error"
Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

terminate called after throwing an instance of 'boost::lock_error'
  what():  boost::lock_error

I am assuming this has something to do with the WDialog::exec() spawning a new 

Any help/fix would be appreciated.

Daniel Ginsburg / email: daniel.ginsb...@childrens.harvard.edu
Principal Software Architect
Fetal-Neonatal Neuroimaging and Development Science Center
Children's Hospital Boston
300 Longwood Avenue
Boston, MA 02115
Phone: 857-218-5140

The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
witty-interest mailing list

Reply via email to