fixed misplaced notification event in GxsCircles

This commit is contained in:
csoler 2020-01-28 22:47:30 +01:00
parent 841ba9e579
commit b6366ac5bd
No known key found for this signature in database
GPG Key ID: 7BCA522266C0804C
2 changed files with 13 additions and 11 deletions

View File

@ -547,14 +547,6 @@ void p3GxsCircles::notifyChanges(std::vector<RsGxsNotify *> &changes)
RsStackMutex stack(mCircleMtx); /********** STACK LOCKED MTX ******/
mCircleCache.erase(RsGxsCircleId(*git));
}
if(rsEvents && (c->getType() == RsGxsNotify::TYPE_RECEIVED_NEW|| c->getType() == RsGxsNotify::TYPE_PUBLISHED) )
{
auto ev = std::make_shared<RsGxsCircleEvent>();
ev->mCircleId = RsGxsCircleId(*git);
ev->mCircleEventType = RsGxsCircleEventCode::NEW_CIRCLE;
rsEvents->postEvent(ev);
}
}
}
@ -610,6 +602,15 @@ void p3GxsCircles::notifyChanges(std::vector<RsGxsNotify *> &changes)
}
#endif
if(rsEvents && (c->getType() == RsGxsNotify::TYPE_RECEIVED_NEW|| c->getType() == RsGxsNotify::TYPE_PUBLISHED) )
{
auto ev = std::make_shared<RsGxsCircleEvent>();
ev->mCircleId = RsGxsCircleId(*git);
ev->mCircleEventType = RsGxsCircleEventCode::NEW_CIRCLE;
rsEvents->postEvent(ev);
}
}
}

View File

@ -57,6 +57,7 @@
/******
* #define ID_DEBUG 1
*****/
#define ID_DEBUG 1
// Data Requests.
#define IDDIALOG_IDLIST 1
@ -441,7 +442,7 @@ void IdDialog::handleEvent_main_thread(std::shared_ptr<const RsEvent> event)
case RsGxsCircleEventCode::CIRCLE_MEMBERSHIP_JOIN:
case RsGxsCircleEventCode::CIRCLE_MEMBERSHIP_REVOQUED:
requestIdList();
requestCircleGroupMeta();
default:
break;
}
@ -752,7 +753,7 @@ void IdDialog::loadCircleGroupMeta(const uint32_t &token)
for(std::map<RsGxsId,uint32_t>::const_iterator it(details.mSubscriptionFlags.begin());it!=details.mSubscriptionFlags.end();++it)
{
#ifdef ID_DEBUG
std::cerr << " ID " << *it << ": " ;
std::cerr << " ID " << it->first << ": " ;
#endif
bool is_own_id = rsIdentity->isOwnId(it->first) ;
bool invited ( it->second & GXS_EXTERNAL_CIRCLE_FLAGS_IN_ADMIN_LIST );
@ -2146,7 +2147,7 @@ void IdDialog::modifyReputation()
rsReputations->setOwnOpinion(id,op);
#ifdef ID_DEBUG
std::cerr << "IdDialog::modifyReputation() ID: " << id << " Mod: " << op;
std::cerr << "IdDialog::modifyReputation() ID: " << id << " Mod: " << static_cast<int>(op);
std::cerr << std::endl;
#endif