fixed: plugin 'group'
Groups::ReindexGroups incorrectly read a field from a PT::Space (it used 'table' object directly) but the value was in 'table_single' now we are using GetValue method git-svn-id: svn://ttmath.org/publicrep/winix/trunk@916 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
parent
60f2337b73
commit
293e426ed4
|
@ -2,7 +2,7 @@
|
|||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2011-2012, Tomasz Sowa
|
||||
* Copyright (c) 2011-2013, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
@ -63,27 +63,31 @@ size_t i, v;
|
|||
// loop through all values in the group
|
||||
for(v=0 ; v<group.spaces.size() ; )
|
||||
{
|
||||
PT::Space::Table::iterator vali = group.spaces[v]->table.find(key);
|
||||
std::wstring * vali = group.spaces[v]->GetValue(key);
|
||||
|
||||
if( vali != group.spaces[v]->table.end() && vali->second.size() == 1 )
|
||||
if( vali )
|
||||
{
|
||||
GroupIndex::iterator g = group_index.find(vali->second[0]);
|
||||
GroupIndex::iterator g = group_index.find(*vali);
|
||||
|
||||
if( g == group_index.end() )
|
||||
{
|
||||
group_index[vali->second[0]] = i;
|
||||
group_index[*vali] = i;
|
||||
v += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
slog << logwarning << "set: " << set.name << " has a group with a duplicated value: "
|
||||
<< vali->second[0] << " (skipping)" << logend;
|
||||
<< *vali << " (skipping)" << logend;
|
||||
|
||||
group.spaces.erase(group.spaces.begin() + v);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
slog << logwarning << "set: " << set.name << " has a group without a value (skipping)" << logend;
|
||||
log << log1 << "key: " << key << " was not found" << logend;
|
||||
slog << logwarning << "set: " << set.name
|
||||
<< " has a group without a value (skipping)" << logend;
|
||||
|
||||
group.spaces.erase(group.spaces.begin() + v);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue