- Ensure notifications from History are disabled while

editing a request. This *could* fix the infamous "st8ad_cast"
bug, but there's no guarantee. A backtrace for the bug
shows the problem doesn't happen inside our code, so the
best thing we can do is to kill the bug by static analysis.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1136 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
tchernobog 2006-09-13 19:44:45 +00:00
parent 8743ede127
commit da0aabcf61
1 changed files with 4 additions and 0 deletions

View File

@ -166,6 +166,8 @@ AddRequestDialog::run_edit(Request& request)
{ {
assert(_list_model->children()); assert(_list_model->children());
bool was_enabled = history.set_notify_enabled(false);
// I know it's a bit hack-ish, but do you know an elegant alternative way? // I know it's a bit hack-ish, but do you know an elegant alternative way?
for(Iseq<vector<SubRequest*>::iterator> it = iseq(subrequests); it; ++it) for(Iseq<vector<SubRequest*>::iterator> it = iseq(subrequests); it; ++it)
history.remove(*(*it)); history.remove(*(*it));
@ -176,6 +178,8 @@ AddRequestDialog::run_edit(Request& request)
for(Iseq<TreeIter> it = iseq(sreq_container); it; ++it) for(Iseq<TreeIter> it = iseq(sreq_container); it; ++it)
history.add_subrequest(request, (*it)[_list_key_column], (*it)[_list_duration_column]); history.add_subrequest(request, (*it)[_list_key_column], (*it)[_list_duration_column]);
history.set_notify_enabled(was_enabled);
} }
hide(); hide();