Boost logo

Boost :

Subject: Re: [boost] [rfc] cppgui
From: Sohail Somani (sohail_at_[hidden])
Date: 2009-06-15 14:45:05

Felipe Magno de Almeida wrote:
> On Mon, Jun 15, 2009 at 2:50 PM, Sohail Somani<sohail_at_[hidden]> wrote:
>> Felipe Magno de Almeida wrote:
>>> I've been working the past two years, on and off, unfortunately more
>>> often not, in a GUI library. But I have gotten back to it. And I
>>> wanted to make it usable. I believe there are some great things in it.
>>> This library has a named parameter interface which is extensible by
>>> the backend implementation.
>>> I've been working on a QT port, which have been fairly easy so far.
>>> My intention is to rework some parts of it, finish most widgets and
>>> the surface concept I've been working on and submit to review to
>>> boost.
>> How do you handle exceptions in Qt?
> I don't. Cppgui is exception neutral. Do you foresee a problem? I must
> be honest, I haven't considered this at all.

In general you can't throw exceptions from functions that Qt calls
directly or indirectly (which is basically all your code.) You can get
it 99.34% correct if you override QApplication::notify and catch them in
there. I have not had a problem doing it this way, though that doesn't
mean it is right.

I think the latest versions of Qt can deal with exceptions in the sense
that no resources are leaked. But you can't do stuff like throw in the
middle of a paint operation unless you can restore the painter and undo
the operations until then. I'm sure there is more stuff that won't work
properly with exceptions.

Sohail Somani

Boost list run by bdawes at, gregod at, cpdaniel at, john at