avoid calling rsGxsChannels::setMessageReadStatus() when the message status is already what we want. Removed one warning that has been cleared.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7964 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2015-02-22 10:10:34 +00:00
parent ab9cb2b600
commit 7178285d60
4 changed files with 23 additions and 11 deletions

View file

@ -86,6 +86,11 @@ GxsChannelPostItem::~GxsChannelPostItem()
delete(ui); delete(ui);
} }
bool GxsChannelPostItem::isUnread() const
{
return IS_MSG_UNREAD(mPost.mMeta.mMsgStatus) ;
}
void GxsChannelPostItem::setup() void GxsChannelPostItem::setup()
{ {
/* Invoke the Qt Designer generated object setup routine */ /* Invoke the Qt Designer generated object setup routine */

View file

@ -58,6 +58,8 @@ public:
/* FeedItem */ /* FeedItem */
virtual void expand(bool open); virtual void expand(bool open);
bool isUnread() const ;
protected: protected:
/* GxsGroupFeedItem */ /* GxsGroupFeedItem */
virtual QString groupName(); virtual QString groupName();

View file

@ -411,10 +411,10 @@ void CreateGxsChannelMsg::addAttachment(const std::string &path)
rsGxsChannels->ExtraFileHash(path, filename); rsGxsChannels->ExtraFileHash(path, filename);
#warning: hash is used uninitialized below ?!? // Only path and filename are valid.
// Destroyed when fileFrame (this subfileitem) is destroyed
// only path and filename are valid. // Hash will be retrieved later when the file is finished hashing.
// destroyed when fileFrame (this subfileitem) is destroyed //
//SubFileItem *file = new SubFileItem(hash, filename, path, size, flags, mChannelId); //SubFileItem *file = new SubFileItem(hash, filename, path, size, flags, mChannelId);
SubFileItem *file = new SubFileItem(hash, filename, path, size, flags, RsPeerId()); SubFileItem *file = new SubFileItem(hash, filename, path, size, flags, RsPeerId());

View file

@ -510,6 +510,11 @@ static void setAllMessagesReadCallback(FeedItem *feedItem, void *data)
return; return;
} }
bool is_not_new = !channelPostItem->isUnread() ;
if(is_not_new == *(bool*)data)
return ;
RsGxsGrpMsgIdPair msgPair = std::make_pair(channelPostItem->groupId(), channelPostItem->messageId()); RsGxsGrpMsgIdPair msgPair = std::make_pair(channelPostItem->groupId(), channelPostItem->messageId());
uint32_t token; uint32_t token;