Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Treeve Jelbert (cc779822402963b0b274cd00e09f342ed82a785c)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Treeve Jelbert <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Treeve Jelbert (cc779822402963b0b274cd00e09f342ed82a785c)
  • Date: Fri, 11 Apr 2008 08:20:13 -0500

GIT changes to master grimoire by Treeve Jelbert <treeve AT sourcemage.org>:

kde4/kdelibs4/DETAILS | 2 -
kde4/kdelibs4/HISTORY | 5 ++
kde4/kdelibs4/PRE_BUILD | 3 +
kde4/kdelibs4/kdelibs.patch | 76
++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 85 insertions(+), 1 deletion(-)

New commits:
commit 6557251c08d4725859bd69cb81f7eab727eac1fb
Author: Treeve Jelbert <treeve AT sourcemage.org>
Commit: Treeve Jelbert <treeve AT sourcemage.org>

kdelibs4 - fix login crash

diff --git a/kde4/kdelibs4/DETAILS b/kde4/kdelibs4/DETAILS
index 22d34bf..b07ffd1 100755
--- a/kde4/kdelibs4/DETAILS
+++ b/kde4/kdelibs4/DETAILS
@@ -3,6 +3,7 @@
if [[ "${KDE_VER}" == "unstable" ]];then
VERSION=4.0.68

SOURCE_HASH=sha512:f197d45e850e643102e2bab5ae4b6546b364dcd3b3ad198dc497c490ea287740d2fa2f72bbe28069a8b98e2df94a8b8347e2127e429dc4afcb422c297ec032ff
+ PATCHLEVEL=1
else
VERSION=4.0.3

SOURCE_HASH=sha512:2d6fefbd5de614d5c5fa7bb168c0648d76b669dd9ddb8c42b0098ac5f20fda9ffb984f96623c0e2338338d8789771735e0da8c03a8acae06b2ab2ad3b1830287
@@ -12,7 +13,6 @@ SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELLX-$VERSION
SOURCE_URL[0]=$KDE_URL/${KDE_VER:-stable}/${VERSION}/src/$SOURCE
WEB_SITE=http://www.kde.org
ENTERED=20020912
-# PATCHLEVEL=1
# SECURITY_PATCH=1
LICENSE[0]=GPL
KEYWORDS="kde4"
diff --git a/kde4/kdelibs4/HISTORY b/kde4/kdelibs4/HISTORY
index 6bf7d66..f4f86b5 100644
--- a/kde4/kdelibs4/HISTORY
+++ b/kde4/kdelibs4/HISTORY
@@ -1,3 +1,8 @@
+2008-04-10 Treeve Jelbert <treeve AT sourcemage.org>
+ * DETAILS: PATCHLEVEL++
+ * PRE_BUILD, kdelibs.patch: added
+ fixes crash at login (thanks to Jucato & Juuso)
+
2008-04-03 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 4.0.68
* SUB_DEPENDS, PRE_SUB_DEPENDS: add soprano
diff --git a/kde4/kdelibs4/PRE_BUILD b/kde4/kdelibs4/PRE_BUILD
new file mode 100755
index 0000000..df633af
--- /dev/null
+++ b/kde4/kdelibs4/PRE_BUILD
@@ -0,0 +1,3 @@
+default_pre_build &&
+cd $SOURCE_DIRECTORY &&
+patch -p1 < $SPELL_DIRECTORY/kdelibs.patch
diff --git a/kde4/kdelibs4/kdelibs.patch b/kde4/kdelibs4/kdelibs.patch
new file mode 100644
index 0000000..4dc075c
--- /dev/null
+++ b/kde4/kdelibs4/kdelibs.patch
@@ -0,0 +1,76 @@
+--- kdelibs-4.0.68/kdecore/kernel/kglobal.cpp 2008/04/02 09:10:19
792807
++++ kdelibs-4.0.68/kdecore/kernel/kglobal.cpp 2008/04/04 08:28:47
793497
+@@ -46,6 +46,7 @@
+ #include <QtCore/QCoreApplication>
+ #include <QtCore/QTextCodec>
+ #include "kcmdlineargs.h"
++#include <unistd.h> // umask
+
+ #ifndef NDEBUG
+ #define MYASSERT(x) if (!x) \
+@@ -61,6 +62,7 @@
+ Q_CONSTRUCTOR_FUNCTION(qrand)
+
+ typedef QSet<QString> KStringDict;
++mode_t s_umsk;
+
+ class KGlobalPrivate
+ {
+@@ -72,8 +74,8 @@
+ {
+ // the umask is read here before any threads are created to
avoid race conditions
+ mode_t tmp = 0;
+- umsk = umask(tmp);
+- umask(umsk);
++ s_umsk = umask(tmp);
++ umask(s_umsk);
+ }
+
+ inline ~KGlobalPrivate()
+@@ -91,7 +93,6 @@
+ KStringDict *stringDict;
+ KLocale *locale;
+ KCharsets *charsets;
+- mode_t umsk;
+ };
+
+ K_GLOBAL_STATIC(KGlobalPrivate, globalData)
+@@ -164,8 +165,8 @@
+
+ mode_t KGlobal::umask()
+ {
+- PRIVATE_DATA;
+- return d->umsk;
++ // Don't use PRIVATE_DATA here. This is called by ~KGlobalPrivate ->
~KConfig -> sync -> KSaveFile, so there's no KGlobalPrivate anymore.
++ return s_umsk;
+ }
+
+ KComponentData KGlobal::activeComponent()
+--- kdelibs-4.0.68/kdecore/tests/kconfigtest.cpp 2008/04/04 08:26:12
793496
++++ kdelibs-4.0.68/kdecore/tests/kconfigtest.cpp 2008/04/04 08:28:47
793497
+@@ -1021,3 +1021,12 @@
+ QVERIFY(QFile::exists(file));
+ }
+
++void KConfigTest::testSyncOnExit()
++{
++ // Often, the KGlobalPrivate global static's destructor ends up calling
~KConfig ->
++ // KConfig::sync ... and if that code triggers KGlobal code again then
things could crash.
++ // So here's a test for modifying KGlobal::config() and not syncing,
the process exit will sync.
++ KConfigGroup grp(KGlobal::config(), "syncOnExit");
++ grp.writeEntry("key", "value");
++}
++
+--- kdelibs-4.0.68/kdecore/tests/kconfigtest.h 2008/04/04 08:26:12
793496
++++ kdelibs-4.0.68/kdecore/tests/kconfigtest.h 2008/04/04 08:28:47
793497
+@@ -64,6 +64,9 @@
+
+ // unrelated
+ void testKAboutDataOrganizationDomain();
++
++ // should be last
++ void testSyncOnExit();
+ private:
+ void revertEntries();
+ QList<QByteArray> readLines();
+



  • [SM-Commit] GIT changes to master grimoire by Treeve Jelbert (cc779822402963b0b274cd00e09f342ed82a785c), Treeve Jelbert, 04/11/2008

Archive powered by MHonArc 2.6.24.

Top of Page