README.qtcopy: -no-stl or no -no-stl?
bo at sonofthor.dk
Tue Jan 20 19:34:43 GMT 2004
On Tuesday 20 January 2004 14:51, Dirk Mueller wrote:
> On Tuesday 20 January 2004 10:30, Bo Thorsen wrote:
> > cripple peoples Qt, when they might download Qt apps that need
> > exceptions. And yes, there are examples of such apps.
> Might be a stupid question, but why do you expect that Qt would do
> anything with exceptions?
> it is still fine to compile Qt without exceptions support. If you want
> exceptions fine - use them. But don't expect that Qt makes use of them.
> what do you think what will happen when exceptions cross signal/slot
> borders, even when Qt is compiled with exception support? Qt does not
> handle any exceptions at all, so letting them pass through Qt is
> probably producing very unwanted things.
> And if you don't pass the exceptions through Qt - you can compile Qt
> without exceptions support. Thats why we recommend it.
Just throw an exception in a slot, or something that is called from a
slot. Qt without exception support crashes. Qt with exception support
handles this nicely.
Or throw an exception in any of the template methods Qt has for
overriding, with the same results.
Or subclass a Qt class, and override something that's called by a
There are so many ways to crash Qt if you use exceptions but have a Qt
without it. And they are all fixed by not using that old workaround.
Specific example of where this support is necessary: Dynamic function
calls. Qt signals and slots can be used to on runtime figure out what
methods are available and call them by having a small class that connects
a signal to the wanted method, and emits. Now, if you want to make it
possible for the method to signal something bad happened with an
exception, you need exception support in Qt. And exceptions where not
introduced in languages to annoy people, but because the fit the task at
hand so much better than anything else.
Of course, after getting a bunch of weird user crashes, you learn to spot
the KDE compilers and tell them to recompile Qt with exception support.
That just quickly gets to you, when there is no real reason that it was
disabled in the first place.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
More information about the kde-core-devel