View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000525 | FreeCAD | Bug | public | 2011-12-07 16:13 | 2011-12-21 16:09 |
Reporter | wmayer | Assigned To | |||
Priority | high | Severity | major | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Target Version | 0.12 | Fixed in Version | 0.13 | ||
Summary | 0000525: Crash when doing an undo of an already deleted object | ||||
Description | doc=App.newDocument() doc.openTransaction() obj=doc.addObject("Part::Box","Box") doc.recompute() doc.commitTransaction() doc.removeObject(obj.Name) doc.undo() | ||||
Tags | No tags attached. | ||||
FreeCAD Information | |||||
|
In the example above, if I remove doc.recompute() from the transaction (commit before), I get no crash, but this message (but the undo is not done): FC++ exception thrown (basic_string::_S_construct null not valid |
|
Yes, I already know where the problem is! |
|
fixed with R5232 |
|
close item |
|
The crash is fixed but now for every transaction two items appear in the undo list. The first transaction has the actual command name and the second one has an empty name. If doing some modelling before and then do some undo, redo, undo this leads to a completely messed up document. And e.g. if you open a document, do a change somewhere and run the undo this causes some object to completely disappear. IMO it's very dangerous to open a transaction inside Document::onBeforeChangeProperty() and Document::_addObject() because it automatically creates a transaction where is not supposed to be one like opening a document. |
|
Removing _checkTransaction() from onBeforeChangeProperty(), _addObject() and recomputeFeature() solved the new problems. Fixed with rev 5334 |
Date Modified | Username | Field | Change |
---|---|---|---|
2011-12-07 16:13 | wmayer | New Issue | |
2011-12-07 16:13 | wmayer | Status | new => assigned |
2011-12-07 16:13 | wmayer | Assigned To | => Jriegel |
2011-12-07 17:34 | yorik | Note Added: 0001417 | |
2011-12-07 18:37 |
|
Note Added: 0001418 | |
2011-12-07 18:37 |
|
Status | assigned => acknowledged |
2011-12-07 18:41 |
|
Priority | normal => high |
2011-12-07 18:41 |
|
Target Version | => 0.12 |
2011-12-07 20:25 |
|
Note Added: 0001419 | |
2011-12-07 20:25 |
|
Status | acknowledged => resolved |
2011-12-07 20:25 |
|
Fixed in Version | => 0.13 |
2011-12-07 20:25 |
|
Resolution | open => fixed |
2011-12-08 07:54 | wmayer | Note Added: 0001420 | |
2011-12-08 07:54 | wmayer | Status | resolved => closed |
2011-12-15 11:32 | wmayer | Note Added: 0001482 | |
2011-12-15 11:32 | wmayer | Status | closed => assigned |
2011-12-15 11:32 | wmayer | Resolution | fixed => reopened |
2011-12-21 16:09 | wmayer | Note Added: 0001508 | |
2011-12-21 16:09 | wmayer | Status | assigned => closed |
2011-12-21 16:09 | wmayer | Resolution | reopened => fixed |