diff --git a/libtorrent/include/libtorrent/intrusive_ptr_base.hpp b/libtorrent/include/libtorrent/intrusive_ptr_base.hpp index 4d3c5b855..b78aea7b0 100644 --- a/libtorrent/include/libtorrent/intrusive_ptr_base.hpp +++ b/libtorrent/include/libtorrent/intrusive_ptr_base.hpp @@ -45,6 +45,8 @@ namespace libtorrent intrusive_ptr_base(intrusive_ptr_base const&) : m_refs(0) {} + intrusive_ptr_base& operator=(intrusive_ptr_base const& rhs) {} + friend void intrusive_ptr_add_ref(intrusive_ptr_base const* s) { assert(s->m_refs >= 0); diff --git a/libtorrent/src/session_impl.cpp b/libtorrent/src/session_impl.cpp index 5734225e0..4001b35d7 100755 --- a/libtorrent/src/session_impl.cpp +++ b/libtorrent/src/session_impl.cpp @@ -391,6 +391,14 @@ namespace detail processing->torrent_ptr->get_policy().peer_from_tracker(*i, id , peer_info::resume_data, 0); } + + for (std::vector::const_iterator i = processing->banned_peers.begin(); + i != processing->banned_peers.end(); ++i) + { + policy::peer* p = processing->torrent_ptr->get_policy().peer_from_tracker(*i, id + , peer_info::resume_data, 0); + if (p) p->banned = true; + } } else {