Merge pull request #2060 from csoler/v0.6-BugFixing_2

UI Bug fixing
This commit is contained in:
csoler 2020-09-11 21:21:47 +02:00 committed by GitHub
commit 6e3f42381e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 33 additions and 10 deletions

View File

@ -61,7 +61,7 @@ static const uint32_t INDEX_AUTHEN_ADMIN = 0x00000040; // admin key
#define GXS_MASK "GXS_MASK_HACK" #define GXS_MASK "GXS_MASK_HACK"
//#define GEN_EXCH_DEBUG 1 #define GEN_EXCH_DEBUG 1
static const uint32_t MSG_CLEANUP_PERIOD = 60*59; // 59 minutes static const uint32_t MSG_CLEANUP_PERIOD = 60*59; // 59 minutes
static const uint32_t INTEGRITY_CHECK_PERIOD = 60*31; // 31 minutes static const uint32_t INTEGRITY_CHECK_PERIOD = 60*31; // 31 minutes

View File

@ -167,7 +167,12 @@ public:
class RsGxsNetTunnelTurtleSearchGroupDataItem: public RsGxsNetTunnelItem class RsGxsNetTunnelTurtleSearchGroupDataItem: public RsGxsNetTunnelItem
{ {
public: public:
explicit RsGxsNetTunnelTurtleSearchGroupDataItem(): RsGxsNetTunnelItem(RS_PKT_SUBTYPE_GXS_NET_TUNNEL_TURTLE_SEARCH_GROUP_DATA) {} explicit RsGxsNetTunnelTurtleSearchGroupDataItem()
: RsGxsNetTunnelItem(RS_PKT_SUBTYPE_GXS_NET_TUNNEL_TURTLE_SEARCH_GROUP_DATA),
encrypted_group_data(NULL),
encrypted_group_data_len(0)
{}
virtual ~RsGxsNetTunnelTurtleSearchGroupDataItem() {} virtual ~RsGxsNetTunnelTurtleSearchGroupDataItem() {}
uint16_t service ; uint16_t service ;

View File

@ -237,10 +237,9 @@ RsGenExchange::ServiceCreate_Return p3GxsChannels::service_CreateGroup(RsGxsGrpI
void p3GxsChannels::notifyChanges(std::vector<RsGxsNotify *> &changes) void p3GxsChannels::notifyChanges(std::vector<RsGxsNotify *> &changes)
{ {
#ifdef GXSCHANNELS_DEBUG #ifdef GXSCHANNEL_DEBUG
std::cerr << "p3GxsChannels::notifyChanges() : " << changes.size() << "changes to notify" << std::endl; RsDbg() << " Processing " << changes.size() << " channel changes..." << std::endl;
#endif #endif
/* iterate through and grab any new messages */ /* iterate through and grab any new messages */
std::set<RsGxsGroupId> unprocessedGroups; std::set<RsGxsGroupId> unprocessedGroups;
@ -295,6 +294,10 @@ void p3GxsChannels::notifyChanges(std::vector<RsGxsNotify *> &changes)
if (grpChange && rsEvents) if (grpChange && rsEvents)
{ {
#ifdef GXSCHANNEL_DEBUG
RsDbg() << " Grp Change Event or type " << grpChange->getType() << ":" << std::endl;
#endif
switch (grpChange->getType()) switch (grpChange->getType())
{ {
case RsGxsNotify::TYPE_PROCESSED: // happens when the group is subscribed case RsGxsNotify::TYPE_PROCESSED: // happens when the group is subscribed
@ -322,8 +325,15 @@ void p3GxsChannels::notifyChanges(std::vector<RsGxsNotify *> &changes)
RS_STACK_MUTEX(mKnownChannelsMutex); RS_STACK_MUTEX(mKnownChannelsMutex);
#ifdef GXSCHANNEL_DEBUG
RsDbg() << " Type = Published/New " << std::endl;
#endif
if(mKnownChannels.find(grpChange->mGroupId) == mKnownChannels.end()) if(mKnownChannels.find(grpChange->mGroupId) == mKnownChannels.end())
{ {
#ifdef GXSCHANNEL_DEBUG
RsDbg() << " Status: unknown. Sending notification event." << std::endl;
#endif
mKnownChannels.insert(std::make_pair(grpChange->mGroupId,time(NULL))) ; mKnownChannels.insert(std::make_pair(grpChange->mGroupId,time(NULL))) ;
IndicateConfigChanged(); IndicateConfigChanged();
@ -332,8 +342,10 @@ void p3GxsChannels::notifyChanges(std::vector<RsGxsNotify *> &changes)
ev->mChannelEventCode = RsChannelEventCode::NEW_CHANNEL; ev->mChannelEventCode = RsChannelEventCode::NEW_CHANNEL;
rsEvents->postEvent(ev); rsEvents->postEvent(ev);
} }
#ifdef GXSCHANNEL_DEBUG
else else
std::cerr << "(II) Not notifying already known channel " << grpChange->mGroupId << std::endl; RsDbg() << " Not notifying already known channel " << grpChange->mGroupId << std::endl;
#endif
} }
break; break;

View File

@ -312,6 +312,12 @@ void GxsGroupFrameDialog::updateSearchResults(const TurtleRequestId& sid)
auto it2 = mSearchGroupsItems.find(sid); auto it2 = mSearchGroupsItems.find(sid);
if(it2 == mSearchGroupsItems.end())
{
std::cerr << "(EE) received a channel group turtle search result with ID " << sid << " but no item is known for this search" << std::endl;
return;
}
QList<GroupItemInfo> group_items ; QList<GroupItemInfo> group_items ;
for(auto it3(group_infos.begin());it3!=group_infos.end();++it3) for(auto it3(group_infos.begin());it3!=group_infos.end();++it3)