mirror of
https://gitdl.cn/https://github.com/chakralinux/desktop.git
synced 2025-01-24 02:22:13 +08:00
nepomuk-core bug patched
This commit is contained in:
parent
72d9fc5a66
commit
afdf2fa2c3
@ -1,7 +1,7 @@
|
||||
#
|
||||
# KDE SC Packages for Chakra, part of chakra-project.org
|
||||
#
|
||||
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
# maintainer: Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
||||
|
||||
# include global config
|
||||
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
|
||||
@ -9,7 +9,7 @@ source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
|
||||
pkgname="nepomuk-core"
|
||||
arch=('x86_64')
|
||||
pkgver=${_kdever}
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
pkgdesc="The core Nepomuk system"
|
||||
url="http://www.kde.org"
|
||||
license=('GPL' 'LGPL' 'FDL')
|
||||
@ -17,11 +17,14 @@ options=('docs' '!splithdr' 'splitdbg' 'log')
|
||||
depends=("kdelibs>=${_kdever}" 'poppler-qt' 'ffmpeg')
|
||||
makedepends=('pkg-config' 'cmake' 'automoc4' 'doxygen')
|
||||
|
||||
source=($_mirror/${pkgname}-$_kdever.tar.xz)
|
||||
md5sums=(`grep ${pkgname}-$_kdever.tar.xz ../kde-sc.md5 | cut -d" " -f1`)
|
||||
source=($_mirror/${pkgname}-$_kdever.tar.xz
|
||||
'basicindexingqueue.diff')
|
||||
md5sums=(`grep ${pkgname}-$_kdever.tar.xz ../kde-sc.md5 | cut -d" " -f1`
|
||||
'2199b16711cf1c5f6c16e64d740dca50')
|
||||
|
||||
build() {
|
||||
cd ${pkgname}-${pkgver}
|
||||
patch -p1 -i ${srcdir}/basicindexingqueue.diff
|
||||
|
||||
rm -rf build
|
||||
mkdir -p build && cd build
|
||||
|
102
nepomuk-core/basicindexingqueue.diff
Normal file
102
nepomuk-core/basicindexingqueue.diff
Normal file
@ -0,0 +1,102 @@
|
||||
commit b651f9231ac30072418bb06d602951f0f05da22c
|
||||
Author: Vishesh Handa <me@vhanda.in>
|
||||
Date: Sat Feb 9 02:28:33 2013 +0530
|
||||
|
||||
Revert "BasicIndexingQueue: Use stacks instead of queues"
|
||||
|
||||
This reverts commit 2f33141aa6716550e38b11ec9a0b000dd74eea79.
|
||||
|
||||
The commit breaks recursive indexing. Doh!
|
||||
|
||||
BUG: 314559
|
||||
|
||||
diff --git a/services/fileindexer/basicindexingqueue.cpp b/services/fileindexer/basicindexingqueue.cpp
|
||||
index a295330..b581786 100644
|
||||
--- a/services/fileindexer/basicindexingqueue.cpp
|
||||
+++ b/services/fileindexer/basicindexingqueue.cpp
|
||||
@@ -54,14 +54,14 @@ void BasicIndexingQueue::clear()
|
||||
|
||||
void BasicIndexingQueue::clear(const QString& path)
|
||||
{
|
||||
- QMutableVectorIterator< QPair<QString, UpdateDirFlags> > it( m_paths );
|
||||
+ QMutableListIterator< QPair<QString, UpdateDirFlags> > it( m_paths );
|
||||
while( it.hasNext() ) {
|
||||
it.next();
|
||||
if( it.value().first.startsWith( path ) )
|
||||
it.remove();
|
||||
}
|
||||
|
||||
- QMutableVectorIterator< QPair<QDirIterator*, UpdateDirFlags> > iter( m_iterators );
|
||||
+ QMutableListIterator< QPair<QDirIterator*, UpdateDirFlags> > iter( m_iterators );
|
||||
while( iter.hasNext() ) {
|
||||
QDirIterator* dirIter = iter.next().first;
|
||||
|
||||
@@ -100,7 +100,7 @@ void BasicIndexingQueue::enqueue(const QString& path, UpdateDirFlags flags)
|
||||
{
|
||||
kDebug() << path;
|
||||
bool wasEmpty = m_paths.empty();
|
||||
- m_paths.push( qMakePair( path, flags ) );
|
||||
+ m_paths.enqueue( qMakePair( path, flags ) );
|
||||
callForNextIteration();
|
||||
|
||||
if( wasEmpty )
|
||||
@@ -120,12 +120,12 @@ void BasicIndexingQueue::processNextIteration()
|
||||
processingFile = process( dirIt->next(), pair.second );
|
||||
}
|
||||
else {
|
||||
- delete m_iterators.pop().first;
|
||||
+ delete m_iterators.dequeue().first;
|
||||
}
|
||||
}
|
||||
|
||||
else if( !m_paths.isEmpty() ) {
|
||||
- QPair< QString, UpdateDirFlags > pair = m_paths.pop();
|
||||
+ QPair< QString, UpdateDirFlags > pair = m_paths.dequeue();
|
||||
processingFile = process( pair.first, pair.second );
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ bool BasicIndexingQueue::process(const QString& path, UpdateDirFlags flags)
|
||||
QDir::Filters dirFilter = QDir::NoDotAndDotDot|QDir::Readable|QDir::Files|QDir::Dirs;
|
||||
|
||||
QPair<QDirIterator*, UpdateDirFlags> pair = qMakePair( new QDirIterator( path, dirFilter ), flags );
|
||||
- m_iterators.push( pair );
|
||||
+ m_iterators.enqueue( pair );
|
||||
}
|
||||
}
|
||||
else if( info.isFile() && (forced || indexingRequired) ) {
|
||||
@@ -259,12 +259,6 @@ void BasicIndexingQueue::slotIndexingFinished(KJob* job)
|
||||
|
||||
emit endIndexingFile( url );
|
||||
|
||||
- // Give back the memory
|
||||
- if( m_paths.isEmpty() )
|
||||
- m_paths.clear();
|
||||
- if( m_iterators.isEmpty() )
|
||||
- m_iterators.clear();
|
||||
-
|
||||
// Continue the queue
|
||||
finishIteration();
|
||||
}
|
||||
diff --git a/services/fileindexer/basicindexingqueue.h b/services/fileindexer/basicindexingqueue.h
|
||||
index 29dd9fd..5d1c190 100644
|
||||
--- a/services/fileindexer/basicindexingqueue.h
|
||||
+++ b/services/fileindexer/basicindexingqueue.h
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
#include "indexingqueue.h"
|
||||
#include <KJob>
|
||||
-#include <QtCore/QStack>
|
||||
|
||||
namespace Nepomuk2 {
|
||||
|
||||
@@ -106,8 +105,8 @@ namespace Nepomuk2 {
|
||||
*/
|
||||
bool process(const QString& path, Nepomuk2::UpdateDirFlags flags);
|
||||
|
||||
- QStack< QPair<QString, UpdateDirFlags> > m_paths;
|
||||
- QStack< QPair<QDirIterator*, UpdateDirFlags> > m_iterators;
|
||||
+ QQueue< QPair<QString, UpdateDirFlags> > m_paths;
|
||||
+ QQueue< QPair<QDirIterator*, UpdateDirFlags> > m_iterators;
|
||||
|
||||
QUrl m_currentUrl;
|
||||
QString m_currentMimeType;
|
Loading…
Reference in New Issue
Block a user