┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/versioncontrol
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2009-12-07 22:37:11 +0000
committerPeter Penz <[email protected]>2009-12-07 22:37:11 +0000
commit1c4fddb06e92b52194b5ed009860b6cf22675852 (patch)
treeaa8f77f1c5ad1c1c2b7e7b038d49e9403cce148c /src/versioncontrol
parent1b05d108a108c6f1d5a718620fc18341ec07a19e (diff)
fix possible crash when the signal finished() has been emitted asynchronously
BUG: 213985 svn path=/trunk/KDE/kdebase/apps/; revision=1060029
Diffstat (limited to 'src/versioncontrol')
-rw-r--r--src/versioncontrol/versioncontrolobserver.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/versioncontrol/versioncontrolobserver.cpp b/src/versioncontrol/versioncontrolobserver.cpp
index 9e52d1f51..a5e509055 100644
--- a/src/versioncontrol/versioncontrolobserver.cpp
+++ b/src/versioncontrol/versioncontrolobserver.cpp
@@ -178,6 +178,12 @@ void VersionControlObserver::verifyDirectory()
void VersionControlObserver::applyUpdatedItemStates()
{
+ if (m_plugin == 0) {
+ // The signal finished() has been emitted, but the thread has been marked
+ // as invalid in the meantime. Just ignore the signal in this case.
+ return;
+ }
+
if (!m_updateItemStatesThread->retrievedItems()) {
// ignore m_silentUpdate for an error message
emit errorMessage(i18nc("@info:status", "Update of version information failed."));