diff --git a/src/fltk/fieldWindow.cpp b/src/fltk/fieldWindow.cpp index 3be7b27cfe05b4c23882aa68445b25fcf54068f3..172d16b1974ab2f636b4809db91acb479f562ecb 100644 --- a/src/fltk/fieldWindow.cpp +++ b/src/fltk/fieldWindow.cpp @@ -255,6 +255,7 @@ void fieldWindow::saveFieldOptions() sstream.precision(16); for(auto it = f->options.begin(); it != f->options.end(); it++) { FieldOption *option = it->second; + if(!option) continue; if(option->isDeprecated()) continue; sstream.str(""); switch(option->getType()) { @@ -329,6 +330,7 @@ void fieldWindow::loadFieldOptions() auto input = options_widget.begin(); for(auto it = f->options.begin(); it != f->options.end(); it++) { FieldOption *option = it->second; + if(!option) continue; if(option->isDeprecated()) continue; std::ostringstream vstr; switch(option->getType()) { @@ -415,12 +417,14 @@ void fieldWindow::editField(Field *f) if(!f->options.empty()) help += std::string("<p><center><b>Options</b></center>"); for(auto it = f->options.begin(); it != f->options.end(); it++) { - if(it->second->isDeprecated()) continue; + FieldOption *option = it->second; + if(!option) continue; + if(option->isDeprecated()) continue; Fl_Widget *input; help += std::string("<p><b>") + it->first + "</b>"; - help += " (<em>" + it->second->getTypeName() + "</em>): "; - help += it->second->getDescription(); - switch(it->second->getType()) { + help += " (<em>" + option->getTypeName() + "</em>): "; + help += option->getDescription(); + switch(option->getType()) { case FIELD_OPTION_INT: case FIELD_OPTION_DOUBLE: input = new Fl_Value_Input(xx, yy, IW, BH, it->first.c_str());