diff --git a/include/mask.cpp b/include/mask.cpp index bffb53ff9..56058c6a7 100755 --- a/include/mask.cpp +++ b/include/mask.cpp @@ -2201,31 +2201,33 @@ int TMask::load_profile(int num, bool reset) TString16 name; name << num; TAssoc_array& var = ini.list_variables(name); - - for (int pos = fields()-1; pos >= 0; pos--) - { - TMask_field& f = fld(pos); - if (f.is_loadable() && f.get_default().empty()) - { - name.format("F_%d", f.dlg()); - if (reset || var.objptr(name) != NULL) - { - if (f.is_sheet()) - { - TSheet_field& sf = (TSheet_field&)f; - sf.destroy(); - for (int r = 0; ini.exist(name,r); r++) - sf.row(r) = ini.get(name, NULL, r); - sf.force_update(); - } - else - { - if (!f.is_firm()) - f.set(ini.get(name)); - } - } - } - } + if (var.items() > 0) + { + for (int pos = fields()-1; pos >= 0; pos--) + { + TMask_field& f = fld(pos); + if (f.is_loadable() && f.get_default().empty()) + { + name.format("F_%d", f.dlg()); + if (reset || var.objptr(name) != NULL) + { + if (f.is_sheet()) + { + TSheet_field& sf = (TSheet_field&)f; + sf.destroy(); + for (int r = 0; ini.exist(name,r); r++) + sf.row(r) = ini.get(name, NULL, r); + sf.force_update(); + } + else + { + if (!f.is_firm()) + f.set(ini.get(name)); + } + } + } + } + } } return num;