Frederic Bouvier:
this patch is to clear a problem that I sometimes encounter : FG locks when hitting the cancel button of a dialog. In fact, an interator is always invalid when it was used to erase a member of a collection. The braces are here to help my debugger, and I also removed a warning about unused variable.
This commit is contained in:
parent
81929e4726
commit
e30112a5ca
1 changed files with 7 additions and 3 deletions
|
@ -95,9 +95,13 @@ NewGUI::closeActiveDialog ()
|
|||
// algorithm to do (delete map entries by value, not key)? I hate
|
||||
// the STL :) -Andy
|
||||
map<string,FGDialog *>::iterator iter = _active_dialogs.begin();
|
||||
for(/**/; iter != _active_dialogs.end(); iter++)
|
||||
if(iter->second == _active_dialog)
|
||||
for(/**/; iter != _active_dialogs.end(); iter++) {
|
||||
if(iter->second == _active_dialog) {
|
||||
_active_dialogs.erase(iter);
|
||||
// iter is no longer valid
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
delete _active_dialog;
|
||||
_active_dialog = 0;
|
||||
|
@ -206,7 +210,7 @@ NewGUI::readDir (const char * path)
|
|||
SGPropertyNode * props = new SGPropertyNode;
|
||||
try {
|
||||
readProperties(subpath, props);
|
||||
} catch (const sg_exception &ex) {
|
||||
} catch (const sg_exception &) {
|
||||
SG_LOG(SG_INPUT, SG_ALERT, "Error parsing dialog "
|
||||
<< subpath);
|
||||
delete props;
|
||||
|
|
Loading…
Add table
Reference in a new issue