ksharedconfig_in_global_object.cpp is now in kdelibs4 too (where it works) and reproduces Albert's KgDifficulty testcase. CHANGELOG: fix assert when using KSharedConfig in a global object destructor. REVIEW: 122232wilder
parent
731a9b83f4
commit
ee599bfa17
3 changed files with 79 additions and 4 deletions
@ -0,0 +1,62 @@ |
|||||||
|
/* This file is part of the KDE project
|
||||||
|
Copyright (C) 2007 Matthias Kretz <kretz@kde.org> |
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or |
||||||
|
modify it under the terms of the GNU Library General Public |
||||||
|
License version 2 as published by the Free Software Foundation. |
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful, |
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
||||||
|
Library General Public License for more details. |
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public License |
||||||
|
along with this library; see the file COPYING.LIB. If not, write to |
||||||
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
||||||
|
Boston, MA 02110-1301, USA. |
||||||
|
|
||||||
|
*/ |
||||||
|
|
||||||
|
#include <QtCore/QCoreApplication> |
||||||
|
#include <QtCore/QtGlobal> |
||||||
|
#include <QTimer> |
||||||
|
#include <ksharedconfig.h> |
||||||
|
#include <kconfiggroup.h> |
||||||
|
#include <stdio.h> |
||||||
|
|
||||||
|
class Tester |
||||||
|
{ |
||||||
|
public: |
||||||
|
void initConfig(); |
||||||
|
~Tester(); |
||||||
|
}; |
||||||
|
|
||||||
|
void Tester::initConfig() |
||||||
|
{ |
||||||
|
fprintf(stderr, "app Tester\n"); |
||||||
|
KConfigGroup group(KSharedConfig::openConfig(), "test"); |
||||||
|
group.writeEntry("test", 0); |
||||||
|
} |
||||||
|
|
||||||
|
Tester::~Tester() |
||||||
|
{ |
||||||
|
fprintf(stderr, "app ~Tester\n"); |
||||||
|
KConfigGroup group(KSharedConfig::openConfig(), "test"); |
||||||
|
group.writeEntry("test", 1); |
||||||
|
} |
||||||
|
|
||||||
|
Q_GLOBAL_STATIC(Tester, globalTestObject) |
||||||
|
|
||||||
|
int main(int argc, char **argv) |
||||||
|
{ |
||||||
|
qputenv("QT_FATAL_WARNINGS", "1"); |
||||||
|
QCoreApplication app(argc, argv); |
||||||
|
|
||||||
|
KSharedConfig::Ptr config = KSharedConfig::openConfig(); |
||||||
|
|
||||||
|
Tester *t = globalTestObject(); |
||||||
|
t->initConfig(); |
||||||
|
|
||||||
|
QTimer::singleShot(0, qApp, SLOT(quit())); |
||||||
|
return app.exec(); |
||||||
|
} |
||||||
Loading…
Reference in new issue