summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Huber <johu@gentoo.org>2012-03-16 12:23:27 +0000
committerJohannes Huber <johu@gentoo.org>2012-03-16 12:23:27 +0000
commit5ca3851351ce16bbce504333e83cc941e975b59c (patch)
tree1ce3d7954cf81b4de5de094e7aa5e12f0cf1dfd7 /kde-base/kdelibs/files
parentRevision bumps adds patch to fix build with gold linker. Patch by kensington ... (diff)
downloadgentoo-2-5ca3851351ce16bbce504333e83cc941e975b59c.tar.gz
gentoo-2-5ca3851351ce16bbce504333e83cc941e975b59c.tar.bz2
gentoo-2-5ca3851351ce16bbce504333e83cc941e975b59c.zip
Revision bump adds upstream patch to fix crashes in kmail caused by nepomuk concurrency problems. This is issue is fixed in KDE SC 4.8.2. Patch spotted by Volker Hemmann <volkerarmin@googlemail.com>. Fixes bug #408421.
(Portage version: 2.2.0_alpha90/cvs/Linux i686)
Diffstat (limited to 'kde-base/kdelibs/files')
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.8.1-nepomuk-kmail.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/kde-base/kdelibs/files/kdelibs-4.8.1-nepomuk-kmail.patch b/kde-base/kdelibs/files/kdelibs-4.8.1-nepomuk-kmail.patch
new file mode 100644
index 000000000000..145472d17d7b
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.8.1-nepomuk-kmail.patch
@@ -0,0 +1,52 @@
+diff --git a/nepomuk/core/resourcedata.cpp b/nepomuk/core/resourcedata.cpp
+index abe55ea..e65e66e 100644
+--- a/nepomuk/core/resourcedata.cpp
++++ b/nepomuk/core/resourcedata.cpp
+@@ -175,7 +175,7 @@ void Nepomuk::ResourceData::resetAll( bool isDelete )
+ if( !m_uri.isEmpty() ) {
+ m_rm->m_initializedData.remove( m_uri );
+ if( m_rm->m_watcher && m_addedToWatcher ) {
+- m_rm->m_watcher->removeResource(Resource::fromResourceUri(m_uri));
++ QMetaObject::invokeMethod(m_rm->m_watcher, "removeResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Resource::fromResourceUri(m_uri)));
+ m_addedToWatcher = false;
+ }
+ }
+@@ -394,15 +394,16 @@ bool Nepomuk::ResourceData::load()
+
+ if(!m_rm->m_watcher) {
+ m_rm->m_watcher = new ResourceWatcher(m_rm->m_manager);
++ m_rm->m_watcher->moveToThread(m_rm->m_manager->thread());
+ QObject::connect( m_rm->m_watcher, SIGNAL(propertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)),
+ m_rm->m_manager, SLOT(slotPropertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) );
+ QObject::connect( m_rm->m_watcher, SIGNAL(propertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)),
+ m_rm->m_manager, SLOT(slotPropertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) );
+ m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) );
+- m_rm->m_watcher->start();
++ QMetaObject::invokeMethod(m_rm->m_watcher, "start", Qt::AutoConnection);
+ }
+ else {
+- m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) );
++ QMetaObject::invokeMethod(m_rm->m_watcher, "addResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Nepomuk::Resource::fromResourceUri(m_uri)) );
+ }
+ m_addedToWatcher = true;
+
+diff --git a/nepomuk/core/resourcewatcher.h b/nepomuk/core/resourcewatcher.h
+index 06b9622..92b12f5 100644
+--- a/nepomuk/core/resourcewatcher.h
++++ b/nepomuk/core/resourcewatcher.h
+@@ -93,6 +93,7 @@ namespace Nepomuk {
+ */
+ virtual ~ResourceWatcher();
+
++ public Q_SLOTS:
+ /**
+ * \brief Add a type to be watched.
+ *
+@@ -204,7 +205,6 @@ namespace Nepomuk {
+ */
+ QList<Types::Property> properties() const;
+
+- public Q_SLOTS:
+ /**
+ * \brief Start the signalling of changes.
+ *