Can Q_GLOBAL_STATIC replace KStaticDelete ?
staikos at kde.org
Mon Jan 8 19:58:44 GMT 2007
Quoting Thiago Macieira <thiago at kde.org>:
> Matthias Kretz wrote:
> >> - KStaticDeleter delete objects in ~KApplication , while
> >> Q_GLOBAL_STATIC delete object after the end of main()
> >This is a blocker for Q_GLOBAL_STATIC in many places of KDE. Many things
> > must be cleaned up before QCoreApplication is gone (just see my latest
> > commit to kdelibs/phonon).
> I saw the commit, but it doesn't explain why there is such a requirement.
> Why must those objects be deleted before QCoreApplication does away? Or
> why must they be deleted between QCoreApplication's destructor and the
> application's real exit?
> What happens to those objects if the application exits without
> QCoreApplication's destructor running?
I have had issues in the past with text codecs being destroyed and then when
global statics were destroyed, they would try to access the deleted text codec.
More information about the kde-core-devel