diff --git a/ChangeLog b/ChangeLog index ad54df83b..cce05906e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -84,6 +84,7 @@ incoming connection * added more detailed instrumentation of the disk I/O thread + * fixed default values being set incorrectly in add_torrent_params through add_magnet_uri in python bindings * implemented unaligned write (for unbuffered I/O) * fixed broadcast_lsd option * fixed udp-socket race condition when using a proxy diff --git a/bindings/python/src/magnet_uri.cpp b/bindings/python/src/magnet_uri.cpp index b68fc6ec3..c072e51b0 100644 --- a/bindings/python/src/magnet_uri.cpp +++ b/bindings/python/src/magnet_uri.cpp @@ -39,10 +39,14 @@ namespace { std::memcpy(&resume_buf[0], &resume[0], resume.size()); p.resume_data = &resume_buf; } - p.storage_mode = extract(params["storage_mode"]); - p.paused = params["paused"]; - p.auto_managed = params["auto_managed"]; - p.duplicate_is_error = params["duplicate_is_error"]; + if (params.has_key("storage_mode")) + p.storage_mode = extract(params["storage_mode"]); + if (params.has_key("paused")) + p.paused = params["paused"]; + if (params.has_key("auto_managed")) + p.auto_managed = params["auto_managed"]; + if (params.has_key("duplicate_is_error")) + p.duplicate_is_error = params["duplicate_is_error"]; #ifndef BOOST_NO_EXCEPTIONS return add_magnet_uri(s, uri, p);