diff --git a/src/display/window_peer_list.cc b/src/display/window_peer_list.cc index 111970a3..a4fb01aa 100644 --- a/src/display/window_peer_list.cc +++ b/src/display/window_peer_list.cc @@ -95,62 +95,62 @@ WindowPeerList::redraw() { throw std::logic_error("WindowPeerList::redraw() m_slotChunksTotal() returned invalid value"); while (range.first != range.second) { - torrent::Peer& p = *range.first; + torrent::Peer* p = *range.first; x = 0; m_canvas->print(x, y, "%c %s", range.first == *m_focus ? '*' : ' ', - rak::socket_address::cast_from(p.address())->address_str().c_str()); + rak::socket_address::cast_from(p->address())->address_str().c_str()); x += 18; - m_canvas->print(x, y, "%.1f", (double)p.up_rate()->rate() / 1024); x += 7; - m_canvas->print(x, y, "%.1f", (double)p.down_rate()->rate() / 1024); x += 7; - m_canvas->print(x, y, "%.1f", (double)p.peer_rate()->rate() / 1024); x += 7; + m_canvas->print(x, y, "%.1f", (double)p->up_rate()->rate() / 1024); x += 7; + m_canvas->print(x, y, "%.1f", (double)p->down_rate()->rate() / 1024); x += 7; + m_canvas->print(x, y, "%.1f", (double)p->peer_rate()->rate() / 1024); x += 7; char remoteChoked; - if (!p.is_remote_choked_limited()) + if (!p->is_remote_choked_limited()) remoteChoked = 'U'; - else if (p.is_remote_queued()) + else if (p->is_remote_queued()) remoteChoked = 'Q'; else remoteChoked = 'C'; m_canvas->print(x, y, "%c/%c%c/%c%c", - p.is_encrypted() ? (p.is_incoming() ? 'R' : 'L') : (p.is_incoming() ? 'r' : 'l'), - p.is_remote_choked() ? std::tolower(remoteChoked) : remoteChoked, + p->is_encrypted() ? (p->is_incoming() ? 'R' : 'L') : (p->is_incoming() ? 'r' : 'l'), + p->is_remote_choked() ? std::tolower(remoteChoked) : remoteChoked, - p.is_remote_interested() ? 'i' : 'n', - p.is_local_choked() ? 'c' : 'u', - p.is_local_interested() ? 'i' : 'n'); + p->is_remote_interested() ? 'i' : 'n', + p->is_local_choked() ? 'c' : 'u', + p->is_local_interested() ? 'i' : 'n'); x += 9; - m_canvas->print(x, y, "%i/%i", p.outgoing_queue_size(), p.incoming_queue_size()); + m_canvas->print(x, y, "%i/%i", p->outgoing_queue_size(), p->incoming_queue_size()); x += 6; m_canvas->print(x, y, "%3i", done_percentage(*range.first)); x += 6; - const torrent::BlockTransfer* transfer = p.transfer(); + const torrent::BlockTransfer* transfer = p->transfer(); if (transfer != NULL) m_canvas->print(x, y, "%i", transfer->index()); x += 6; - if (p.is_snubbed()) + if (p->is_snubbed()) m_canvas->print(x, y, "*"); x += 6; - if (p.failed_counter() != 0) - m_canvas->print(x, y, "%u", p.failed_counter()); + if (p->failed_counter() != 0) + m_canvas->print(x, y, "%u", p->failed_counter()); x += 7; char buf[128]; - print_client_version(buf, buf + 128, p.info()->client_info()); + print_client_version(buf, buf + 128, p->info()->client_info()); m_canvas->print(x, y, "%s", buf); @@ -160,10 +160,10 @@ WindowPeerList::redraw() { } int -WindowPeerList::done_percentage(torrent::Peer& p) { +WindowPeerList::done_percentage(torrent::Peer* p) { int chunks = m_download->download()->file_list()->size_chunks(); - return chunks ? (100 * p.chunks_done()) / chunks : 0; + return chunks ? (100 * p->chunks_done()) / chunks : 0; } } diff --git a/src/display/window_peer_list.h b/src/display/window_peer_list.h index 2b17e56d..ac15484d 100644 --- a/src/display/window_peer_list.h +++ b/src/display/window_peer_list.h @@ -50,14 +50,14 @@ namespace display { class WindowPeerList : public Window { public: - typedef std::list PList; + typedef std::list PList; WindowPeerList(core::Download* d, PList* l, PList::iterator* f); virtual void redraw(); private: - int done_percentage(torrent::Peer& p); + int done_percentage(torrent::Peer* p); core::Download* m_download; diff --git a/src/ui/element_peer_list.cc b/src/ui/element_peer_list.cc index c682b267..88ef85b0 100644 --- a/src/ui/element_peer_list.cc +++ b/src/ui/element_peer_list.cc @@ -213,12 +213,12 @@ ElementPeerList::receive_disconnect_peer() { } void -ElementPeerList::receive_peer_connected(torrent::Peer p) { +ElementPeerList::receive_peer_connected(torrent::Peer* p) { m_list.push_back(p); } void -ElementPeerList::receive_peer_disconnected(torrent::Peer p) { +ElementPeerList::receive_peer_disconnected(torrent::Peer* p) { PList::iterator itr = std::find(m_list.begin(), m_list.end(), p); if (itr == m_list.end()) @@ -237,7 +237,7 @@ ElementPeerList::receive_snub_peer() { if (m_listItr == m_list.end()) return; - m_listItr->set_snubbed(!m_listItr->is_snubbed()); + (*m_listItr)->set_snubbed(!(*m_listItr)->is_snubbed()); update_itr(); } @@ -245,7 +245,7 @@ ElementPeerList::receive_snub_peer() { void ElementPeerList::update_itr() { m_windowList->mark_dirty(); - m_elementInfo->set_target(m_listItr != m_list.end() ? rpc::make_target(&*m_listItr) : rpc::make_target()); + m_elementInfo->set_target(m_listItr != m_list.end() ? rpc::make_target(*m_listItr) : rpc::make_target()); } } diff --git a/src/ui/element_peer_list.h b/src/ui/element_peer_list.h index b5e92273..c4826111 100644 --- a/src/ui/element_peer_list.h +++ b/src/ui/element_peer_list.h @@ -47,7 +47,7 @@ class ElementText; class ElementPeerList : public ElementBase { public: - typedef std::list PList; + typedef std::list PList; typedef enum { DISPLAY_LIST, @@ -71,8 +71,8 @@ private: void receive_disconnect_peer(); - void receive_peer_connected(torrent::Peer p); - void receive_peer_disconnected(torrent::Peer p); + void receive_peer_connected(torrent::Peer* p); + void receive_peer_disconnected(torrent::Peer* p); void receive_snub_peer();