diff options
Diffstat (limited to 'extra/nepomuk-core/regression-crash.patch')
-rw-r--r-- | extra/nepomuk-core/regression-crash.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/extra/nepomuk-core/regression-crash.patch b/extra/nepomuk-core/regression-crash.patch new file mode 100644 index 000000000..2559c99c4 --- /dev/null +++ b/extra/nepomuk-core/regression-crash.patch @@ -0,0 +1,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 + } + + |