Date: Monday, February 25, 2013 @ 11:11:44 Author: andrea Revision: 178525
upgpkg: nepomuk-core 4.10.0-4 Fix crash on new install (FS#34015) Added: nepomuk-core/trunk/fix-crash-on-new-install.patch Modified: nepomuk-core/trunk/PKGBUILD --------------------------------+ PKGBUILD | 9 ++++++--- fix-crash-on-new-install.patch | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-02-25 10:11:29 UTC (rev 178524) +++ PKGBUILD 2013-02-25 10:11:44 UTC (rev 178525) @@ -3,7 +3,7 @@ pkgname=nepomuk-core pkgver=4.10.0 -pkgrel=3 +pkgrel=4 pkgdesc="Contains the central Nepomuk services like file indexing, file system monitoring, query, storage, client libraries" url="https://projects.kde.org/projects/kde/kdelibs/nepomuk-core" arch=('i686' 'x86_64') @@ -11,13 +11,16 @@ depends=('kdelibs' 'poppler-qt' 'taglib' 'ffmpeg') makedepends=('cmake' 'automoc4' 'doxygen') source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz" - 'fix-recursive-indexing.patch') + 'fix-recursive-indexing.patch' + 'fix-crash-on-new-install.patch') sha1sums=('affc4d3063db773e5b05ff746a4c64adbec29264' - 'faa0f661fe642af01ac72eda7347dfc659e091e1') + 'faa0f661fe642af01ac72eda7347dfc659e091e1' + '5e3b84f0d0f8a868d4aafedf0f3c7ab631ee4263') build() { cd ${pkgname}-${pkgver} patch -p1 -i "${srcdir}"/fix-recursive-indexing.patch + patch -p1 -i "${srcdir}"/fix-crash-on-new-install.patch cd ../ mkdir build Added: fix-crash-on-new-install.patch =================================================================== --- fix-crash-on-new-install.patch (rev 0) +++ fix-crash-on-new-install.patch 2013-02-25 10:11:44 UTC (rev 178525) @@ -0,0 +1,37 @@ +commit b94e9f73bd86593928988e5626511acea805b7be +Author: Edward Toroshchin <k...@hades.name> +Date: Sun Feb 3 17:57:23 2013 +0100 + + fileindexer: initialize objects in correct order + + The IndexCleaner job created in IndexScheduler could complete before + m_eventMonitor is initialized, which leads to crash in slotCleaningDone. + + REVIEW: 108754 + +diff --git a/services/fileindexer/indexscheduler.cpp b/services/fileindexer/indexscheduler.cpp +index a13de1b..3ad7819 100644 +--- a/services/fileindexer/indexscheduler.cpp ++++ b/services/fileindexer/indexscheduler.cpp +@@ -51,10 +51,6 @@ Nepomuk2::IndexScheduler::IndexScheduler( QObject* parent ) + QFile::remove(KStandardDirs::locateLocal("data", QLatin1String("nepomuk/file-indexer-error-log"))); + } + +- m_cleaner = new IndexCleaner(this); +- connect( m_cleaner, SIGNAL(finished(KJob*)), this, SLOT(slotCleaningDone()) ); +- m_cleaner->start(); +- + FileIndexerConfig* indexConfig = FileIndexerConfig::self(); + connect( indexConfig, SIGNAL(includeFolderListChanged(QStringList,QStringList)), + this, SLOT(slotIncludeFolderListChanged(QStringList,QStringList)) ); +@@ -106,6 +102,10 @@ Nepomuk2::IndexScheduler::IndexScheduler( QObject* parent ) + connect( m_eventMonitor, SIGNAL(powerManagementStatusChanged(bool)), + this, SLOT(slotScheduleIndexing()) ); + ++ m_cleaner = new IndexCleaner(this); ++ connect( m_cleaner, SIGNAL(finished(KJob*)), this, SLOT(slotCleaningDone()) ); ++ m_cleaner->start(); ++ + // Special settings for the queues + KConfig config( "nepomukstrigirc" ); + KConfigGroup cfg = config.group( "Indexing" );