summaryrefslogtreecommitdiff
blob: a683c133b3369e547b451acb5eba01a6f869c298 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
commit 804e54f83ade8a377d392d350981ead07f60a9d3
Author: David Faure <faure@kde.org>
Date:   Tue Oct 2 20:27:03 2012 +0200

    Fix crash when watchUserLimitReached() leads to deleting the KInotify instance
    
    ... which emitted the signal. So don't use a direct delete.
    
    BUG: 307388
    FIXED-IN: 4.9.3

diff --git a/services/filewatch/nepomukfilewatch.cpp b/services/filewatch/nepomukfilewatch.cpp
index 9fd5d9c..94db504 100644
--- a/services/filewatch/nepomukfilewatch.cpp
+++ b/services/filewatch/nepomukfilewatch.cpp
@@ -323,7 +323,8 @@ void Nepomuk2::FileWatch::connectToKDirWatch()
 void Nepomuk2::FileWatch::slotInotifyWatchUserLimitReached()
 {
     // we do it the brutal way for now hoping with new kernels and defaults this will never happen
-    delete m_dirWatch;
+    // Delete the KInotify and switch to KDirNotify dbus signals
+    m_dirWatch->deleteLater();
     m_dirWatch = 0;
     connectToKDirWatch();
 }