Evitati errori in message copy su campi inesistenti

git-svn-id: svn://10.65.10.50/branches/R_10_00@22810 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2013-03-03 21:45:54 +00:00
parent b865dbd7a9
commit 66fce32cbf
3 changed files with 16 additions and 10 deletions

View File

@ -238,7 +238,7 @@ void TMask::add_field(TMask_field* f)
const short id = f->dlg();
if (id > 0 && id < 512)
{
if (f->is_sheet())
if (f->is_sheet() && strncmp(_source_file.name(), "lv", 2) != 0)
{
for (short cid = 101; cid <= 110; cid++)
{

View File

@ -1200,14 +1200,21 @@ bool TOperable_field::do_message(int num)
}
else
{
TMask_field& f = mask().field(fld);
const char* prev = f.get();
if (value != prev)
const int pos = mask().id2pos(fld);
if (pos >= 0)
{
f.set(value);
if (f.shown() || f.ghost())
f.on_hit();
TMask_field& f = mask().fld(pos);
const char* prev = f.get();
if (value != prev)
{
f.set(value);
if (f.shown() || f.ghost())
f.on_hit();
}
}
#ifdef DBG
// else error?
#endif
}
}
}

View File

@ -1418,8 +1418,7 @@ int TPrefix::firms(TArray& ditte)
TFilename ininame = firm2dir(codditta);
ininame.add("ditta.ini");
TConfig ini(ininame, "Main");
TAssoc_array& fields = ini.list_variables();
if (fields.empty() && prefix_valid())
if (prefix_valid())
{
TLocalisamfile nditte(LF_NDITTE);
TRectype& ditta = nditte.curr();
@ -1435,10 +1434,10 @@ int TPrefix::firms(TArray& ditte)
}
}
}
TAssoc_array& fields = ini.list_variables();
if (fields.empty())
{
ini.set(NDT_CODDITTA, codditta);
CHECK(!fields.empty(), "Can't genenerate firm data");
}
ditte.add(fields);
}