Gentoo Archives: gentoo-commits

From: "Johannes Huber (johu)" <johu@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in kde-base/kdelibs/files: kdelibs-4.8.1-nepomuk-kmail.patch
Date: Fri, 16 Mar 2012 12:23:39
Message-Id: 20120316122327.6310F2004C@flycatcher.gentoo.org
1 johu 12/03/16 12:23:27
2
3 Added: kdelibs-4.8.1-nepomuk-kmail.patch
4 Log:
5 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@××××××××××.com>. Fixes bug #408421.
6
7 (Portage version: 2.2.0_alpha90/cvs/Linux i686)
8
9 Revision Changes Path
10 1.1 kde-base/kdelibs/files/kdelibs-4.8.1-nepomuk-kmail.patch
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/files/kdelibs-4.8.1-nepomuk-kmail.patch?rev=1.1&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/kde-base/kdelibs/files/kdelibs-4.8.1-nepomuk-kmail.patch?rev=1.1&content-type=text/plain
14
15 Index: kdelibs-4.8.1-nepomuk-kmail.patch
16 ===================================================================
17 diff --git a/nepomuk/core/resourcedata.cpp b/nepomuk/core/resourcedata.cpp
18 index abe55ea..e65e66e 100644
19 --- a/nepomuk/core/resourcedata.cpp
20 +++ b/nepomuk/core/resourcedata.cpp
21 @@ -175,7 +175,7 @@ void Nepomuk::ResourceData::resetAll( bool isDelete )
22 if( !m_uri.isEmpty() ) {
23 m_rm->m_initializedData.remove( m_uri );
24 if( m_rm->m_watcher && m_addedToWatcher ) {
25 - m_rm->m_watcher->removeResource(Resource::fromResourceUri(m_uri));
26 + QMetaObject::invokeMethod(m_rm->m_watcher, "removeResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Resource::fromResourceUri(m_uri)));
27 m_addedToWatcher = false;
28 }
29 }
30 @@ -394,15 +394,16 @@ bool Nepomuk::ResourceData::load()
31
32 if(!m_rm->m_watcher) {
33 m_rm->m_watcher = new ResourceWatcher(m_rm->m_manager);
34 + m_rm->m_watcher->moveToThread(m_rm->m_manager->thread());
35 QObject::connect( m_rm->m_watcher, SIGNAL(propertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)),
36 m_rm->m_manager, SLOT(slotPropertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) );
37 QObject::connect( m_rm->m_watcher, SIGNAL(propertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)),
38 m_rm->m_manager, SLOT(slotPropertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) );
39 m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) );
40 - m_rm->m_watcher->start();
41 + QMetaObject::invokeMethod(m_rm->m_watcher, "start", Qt::AutoConnection);
42 }
43 else {
44 - m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) );
45 + QMetaObject::invokeMethod(m_rm->m_watcher, "addResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Nepomuk::Resource::fromResourceUri(m_uri)) );
46 }
47 m_addedToWatcher = true;
48
49 diff --git a/nepomuk/core/resourcewatcher.h b/nepomuk/core/resourcewatcher.h
50 index 06b9622..92b12f5 100644
51 --- a/nepomuk/core/resourcewatcher.h
52 +++ b/nepomuk/core/resourcewatcher.h
53 @@ -93,6 +93,7 @@ namespace Nepomuk {
54 */
55 virtual ~ResourceWatcher();
56
57 + public Q_SLOTS:
58 /**
59 * \brief Add a type to be watched.
60 *
61 @@ -204,7 +205,6 @@ namespace Nepomuk {
62 */
63 QList<Types::Property> properties() const;
64
65 - public Q_SLOTS:
66 /**
67 * \brief Start the signalling of changes.
68 *