From e8b428a9117049aaf9ec1dfa5e1a0167a33d044f Mon Sep 17 00:00:00 2001 From: thunder2 Date: Wed, 28 Apr 2010 11:25:12 +0000 Subject: [PATCH] RetroShare stopped responding during signing a key and asking for password. The QSingleShotTimer of ConfCertDialog wants to update the gui and stopped in PeerItem::updateItem. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2810 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- retroshare-gui/src/gui/feeds/PeerItem.cpp | 89 ++++++++++++----------- 1 file changed, 46 insertions(+), 43 deletions(-) diff --git a/retroshare-gui/src/gui/feeds/PeerItem.cpp b/retroshare-gui/src/gui/feeds/PeerItem.cpp index 296c35986..bb958b694 100644 --- a/retroshare-gui/src/gui/feeds/PeerItem.cpp +++ b/retroshare-gui/src/gui/feeds/PeerItem.cpp @@ -22,6 +22,7 @@ #include "PeerItem.h" #include "FeedHolder.h" +#include "../RsAutoUpdatePage.h" #include "rsiface/rspeers.h" @@ -146,56 +147,58 @@ void PeerItem::updateItem() std::cerr << "PeerItem::updateItem()"; std::cerr << std::endl; #endif - RsPeerDetails details; - if (!rsPeers->getPeerDetails(mPeerId, details)) - { - return; - } + if(!RsAutoUpdatePage::eventsLocked()) { + RsPeerDetails details; + if (!rsPeers->getPeerDetails(mPeerId, details)) + { + return; + } - /* top Level info */ - QString status = QString::fromStdString(RsPeerStateString(details.state)); + /* top Level info */ + QString status = QString::fromStdString(RsPeerStateString(details.state)); #if 0 - /* Append additional status info from status service */ - StatusInfo statusInfo; - if ((rsStatus) && (rsStatus->getStatus(*it, statusInfo))) - { - status.append(QString::fromStdString("/" + RsStatusString(statusInfo.status))); - } + /* Append additional status info from status service */ + StatusInfo statusInfo; + if ((rsStatus) && (rsStatus->getStatus(*it, statusInfo))) + { + status.append(QString::fromStdString("/" + RsStatusString(statusInfo.status))); + } #endif - statusLabel->setText(status); - trustLabel->setText(QString::fromStdString( - RsPeerTrustString(details.trustLvl))); + statusLabel->setText(status); + trustLabel->setText(QString::fromStdString( + RsPeerTrustString(details.trustLvl))); - { - std::ostringstream out; - out << details.localAddr << ":"; - out << details.localPort << "/"; - out << details.extAddr << ":"; - out << details.extPort; - ipLabel->setText(QString::fromStdString(out.str())); + { + std::ostringstream out; + out << details.localAddr << ":"; + out << details.localPort << "/"; + out << details.extAddr << ":"; + out << details.extPort; + ipLabel->setText(QString::fromStdString(out.str())); + } + + connLabel->setText(QString::fromStdString(details.autoconnect)); + QDateTime date = QDateTime::fromTime_t(details.lastConnect); + QString stime = date.toString(Qt::LocalDate); + lastLabel-> setText(stime); + + /* do buttons */ + chatButton->setEnabled(details.state & RS_PEER_STATE_CONNECTED); + if (details.state & RS_PEER_STATE_FRIEND) + { + addButton->setEnabled(false); + removeButton->setEnabled(true); + msgButton->setEnabled(true); + } + else + { + addButton->setEnabled(true); + removeButton->setEnabled(false); + msgButton->setEnabled(false); + } } - connLabel->setText(QString::fromStdString(details.autoconnect)); - QDateTime date = QDateTime::fromTime_t(details.lastConnect); - QString stime = date.toString(Qt::LocalDate); - lastLabel-> setText(stime); - - /* do buttons */ - chatButton->setEnabled(details.state & RS_PEER_STATE_CONNECTED); - if (details.state & RS_PEER_STATE_FRIEND) - { - addButton->setEnabled(false); - removeButton->setEnabled(true); - msgButton->setEnabled(true); - } - else - { - addButton->setEnabled(true); - removeButton->setEnabled(false); - msgButton->setEnabled(false); - } - /* slow Tick */ int msec_rate = 10129;