[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/network/ktorrent
From: Joris Guisson <joris.guisson () gmail ! com>
Date: 2010-10-16 10:39:39
Message-ID: 20101016103939.A20FAAC896 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1186423 by guisson:
Merge rev 1186422 from stable (fix for 254214)
M +1 -0 ChangeLog
M +5 -1 ktorrent/core.cpp
M +1 -0 ktorrent/core.h
M +0 -5 libktcore/torrent/queuemanager.cpp
--- trunk/extragear/network/ktorrent/ChangeLog #1186422:1186423
@@ -32,6 +32,7 @@
- Backport several improvements for IP filter auto update from trunk
- Fix bug causing two instances of ktorrent to be started when missing files dialog \
is shown at startup (252099)
- Fix bug causing KT to use invalid dbus paths in group paths
+- Fix crash at exit due to a Core::update getting called during exit (254214)
Changes in 4.0.3:
- Fix bug causing wrong encoding to be used when the default save location of a \
group is read (244873)
--- trunk/extragear/network/ktorrent/ktorrent/core.cpp #1186422:1186423
@@ -68,7 +68,7 @@
{
const Uint32 CORE_UPDATE_INTERVAL = 250;
- Core::Core(kt::GUI* gui) : gui(gui),keep_seeding(true),sleep_suppression_cookie(-1)
+ Core::Core(kt::GUI* gui) : \
gui(gui),keep_seeding(true),sleep_suppression_cookie(-1),exiting(false) {
UpdateCurrentTime();
qman = new QueueManager();
@@ -898,6 +898,7 @@
void Core::onExit()
{
// stop timer to prevent updates during wait
+ exiting = true;
update_timer.stop();
net::SocketMonitor::instance().shutdown();
@@ -1032,6 +1033,9 @@
void Core::update()
{
+ if (exiting)
+ return;
+
try
{
bt::UpdateCurrentTime();
--- trunk/extragear/network/ktorrent/ktorrent/core.h #1186422:1186423
@@ -263,6 +263,7 @@
int sleep_suppression_cookie;
QMap<bt::TorrentInterface*,ScanListener*> active_scans;
QMap<bt::TorrentInterface*,bool> delayed_removal;
+ bool exiting;
};
}
--- trunk/extragear/network/ktorrent/libktcore/torrent/queuemanager.cpp \
#1186422:1186423 @@ -86,11 +86,6 @@
exiting = true;
Uint32 nd = downloads.count();
suspended_torrents.clear();
-
- // wait for a second to allow all http jobs to send the stopped event
- if (nd > 0)
- SynchronousWait(1000);
-
qDeleteAll(downloads);
downloads.clear();
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic