blob: 2559c99c43bcb34cc562c8d164db5bdd849dc3e3 (
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
From: David Faure <faure@kde.org>
Date: Tue, 02 Oct 2012 18:27:03 +0000
Subject: Fix crash when watchUserLimitReached() leads to deleting the KInotify instance
X-Git-Url: http://quickgit.kde.org/?p=nepomuk-core.git&a=commitdiff&h=804e54f83ade8a377d392d350981ead07f60a9d3
---
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
---
--- a/services/filewatch/nepomukfilewatch.cpp
+++ b/services/filewatch/nepomukfilewatch.cpp
@@ -323,7 +323,8 @@
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();
}
From: Dan Vrátil <dvratil@redhat.com>
Date: Wed, 03 Oct 2012 11:27:22 +0000
Subject: Add null-crash guards for m_dirWatch to FileWatch
X-Git-Url: http://quickgit.kde.org/?p=nepomuk-core.git&a=commitdiff&h=32b44881dda4f243932c59c11bf39c91f30c224b
---
Add null-crash guards for m_dirWatch to FileWatch
BUG: 307388
---
--- a/services/filewatch/nepomukfilewatch.cpp
+++ b/services/filewatch/nepomukfilewatch.cpp
@@ -114,6 +114,7 @@
Nepomuk2::FileWatch::FileWatch( QObject* parent, const QList<QVariant>& )
: Service( parent )
+ , m_dirWatch( 0 )
{
// Create the configuration instance singleton (for thread-safety)
// ==============================================================
@@ -324,8 +325,10 @@
{
// we do it the brutal way for now hoping with new kernels and defaults this will never happen
// Delete the KInotify and switch to KDirNotify dbus signals
- m_dirWatch->deleteLater();
- m_dirWatch = 0;
+ if( m_dirWatch ) {
+ m_dirWatch->deleteLater();
+ m_dirWatch = 0;
+ }
connectToKDirWatch();
}
#endif
@@ -413,7 +416,9 @@
void Nepomuk2::FileWatch::slotDeviceTeardownRequested(const Nepomuk2::RemovableMediaCache::Entry* entry )
{
#ifdef BUILD_KINOTIFY
- m_dirWatch->removeWatch( entry->mountPath() );
+ if( m_dirWatch ) {
+ m_dirWatch->removeWatch( entry->mountPath() );
+ }
#endif
}
|