diff options
author | Tobias Heinlein <keytoaster@gentoo.org> | 2007-08-10 20:05:19 +0000 |
---|---|---|
committer | Tobias Heinlein <keytoaster@gentoo.org> | 2007-08-10 20:05:19 +0000 |
commit | 36d50beaaa08da4a89d0db80ea174a74a4b3c8aa (patch) | |
tree | 7726268244b0ce5cf9971deab5009af714dfceaf /net-p2p/ktorrent/files | |
parent | fix bug #188109. remove old version (diff) | |
download | gentoo-2-36d50beaaa08da4a89d0db80ea174a74a4b3c8aa.tar.gz gentoo-2-36d50beaaa08da4a89d0db80ea174a74a4b3c8aa.tar.bz2 gentoo-2-36d50beaaa08da4a89d0db80ea174a74a4b3c8aa.zip |
Adding a patch to fix a crash, see bug 187977
Diffstat (limited to 'net-p2p/ktorrent/files')
-rw-r--r-- | net-p2p/ktorrent/files/ktorrent-2.2.1-fix-wait-job-crash.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/net-p2p/ktorrent/files/ktorrent-2.2.1-fix-wait-job-crash.patch b/net-p2p/ktorrent/files/ktorrent-2.2.1-fix-wait-job-crash.patch new file mode 100644 index 000000000000..155337f059ed --- /dev/null +++ b/net-p2p/ktorrent/files/ktorrent-2.2.1-fix-wait-job-crash.patch @@ -0,0 +1,56 @@ +diff -Naru ktorrent_old/apps/ktorrent/ktorrentcore.cpp ktorrent_new/apps/ktorrent/ktorrentcore.cpp +--- ktorrent_old/apps/ktorrent/ktorrentcore.cpp 2007-07-23 12:43:11.000000000 -0400 ++++ ktorrent_new/apps/ktorrent/ktorrentcore.cpp 2007-08-07 00:44:13.000000000 -0400 +@@ -1,5 +1,5 @@ + /*************************************************************************** +- * Copyright (C) 2005 by * ++ * copyright (C) 2005 by * + * Joris Guisson <joris.guisson@gmail.com> * + * Ivan Vasic <ivasic@gmail.com> * + * * +@@ -593,9 +593,7 @@ + qman->onExit(job); + // wait for completion of stopped events + if (job->needToWait()) +- { + WaitJob::execute(job); +- } + else + delete job; + +diff -Naru ktorrent_old/libktorrent/pluginmanager.cpp ktorrent_new/libktorrent/pluginmanager.cpp +--- ktorrent_old/libktorrent/pluginmanager.cpp 2007-07-23 12:43:10.000000000 -0400 ++++ ktorrent_new/libktorrent/pluginmanager.cpp 2007-08-07 00:46:55.000000000 -0400 +@@ -125,12 +125,13 @@ + p->shutdown(wjob); + if (wjob->needToWait()) + bt::WaitJob::execute(wjob); ++ else ++ delete wjob; + } + catch (Error & err) + { + Out(SYS_GEN|LOG_NOTICE) << "Error when unloading plugin: " << err.toString() << endl; + } +- delete wjob; + + gui->removePluginGui(p); + p->unload(); +@@ -174,14 +175,16 @@ + p->shutdown(wjob); + i++; + } ++ + if (wjob->needToWait()) + bt::WaitJob::execute(wjob); ++ else ++ delete wjob; + } + catch (Error & err) + { + Out(SYS_GEN|LOG_NOTICE) << "Error when unloading all plugins: " << err.toString() << endl; + } +- delete wjob; + + // then unload them + bt::PtrMap<QString,Plugin>::iterator i = plugins.begin(); |