Better fix for previous bug

This commit is contained in:
Grégory Soutadé 2011-01-06 18:59:23 +01:00
parent c0c5a090f6
commit e6ca15f5f3

View File

@ -662,33 +662,33 @@ bool Database::LoadOperation(User* user, const wxString& id)
op.formula = set.GetAsString(wxT("formula"));
op.meta = set.GetBool(wxT("meta"));
if (!user->_operations[op.year])
user->_operations[op.year] = new std::map<unsigned int, std::vector<Operation> >();
for (it = (*user->_operations[op.year])[op.month].begin();
it != (*user->_operations[op.year])[op.month].end();
it++)
if (user->_operations[op.year])
{
if (!op.fix_cost && it->fix_cost) continue;
if (op.fix_cost && !it->fix_cost)
for (it = (*user->_operations[op.year])[op.month].begin();
it != (*user->_operations[op.year])[op.month].end();
it++)
{
it--;
break;
}
if (it->day > op.day)
{
it--;
break;
if (!op.fix_cost && it->fix_cost) continue;
if (op.fix_cost && !it->fix_cost)
{
it--;
break;
}
if (it->day > op.day)
{
it--;
break;
}
}
if (it == (*user->_operations[op.year])[op.month].end())
(*user->_operations[op.year])[op.month].push_back(op);
else
(*user->_operations[op.year])[op.month].insert(it, op);
// if (op.fix_cost)
// else
// (*user->_operations[op.year])[op.month].push_back(op);
ret = true;
}
if (it == (*user->_operations[op.year])[op.month].end())
(*user->_operations[op.year])[op.month].push_back(op);
else
(*user->_operations[op.year])[op.month].insert(it, op);
// if (op.fix_cost)
// else
// (*user->_operations[op.year])[op.month].push_back(op);
ret = true;
}
set.Finalize();