View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update | 
|---|---|---|---|---|---|
| 0002902 | FreeCAD | Bug | public | 2017-02-12 18:20 | 2017-04-02 17:34 | 
| Reporter | DeepSOIC | Assigned To | wmayer | ||
| Priority | high | Severity | major | Reproducibility | always | 
| Status | closed | Resolution | fixed | ||
| Product Version | 0.17 | ||||
| Fixed in Version | 0.17 | ||||
| Summary | 0002902: PyObjectBase notification chain can lead to unexpected changes to document | ||||
| Description | Changing an object behind PropertyLinkSub may cause the link to stick to that object. It's hard to describe, see steps to reproduce. | ||||
| Steps To Reproduce | 1. Open the attached file. It contains a Cube, a Cylinder, and a 3d offset applied to Cylinder. 2. Now, run this in Py console 3. Now this: Now, Offset is applied to Cube instead of cylinder. So far so good.4. and now this: This shouldn't do anything at all. But, Offset is now applied to Cylinder instead of Box! | ||||
| Additional Information | forum thread: https://forum.freecadweb.org/viewtopic.php?f=10&t=20597&p=159579#p159579 OS: Windows 10 Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.17.9933 (Git) Build type: Release Branch: master Hash: 6c3b78e97bbb8653e1189038c99682becef71626 Python version: 2.7.8 Qt version: 4.8.7 Coin version: 4.0.0a OCC version: 7.0.0 Note that it's important to obtain Cylinder object not as an attribute. I used getObject() method here, but the reference may also come from getSelection(). | ||||
| Tags | No tags attached. | ||||
| FreeCAD Information | |||||
| FreeCAD: master b72aa9f3 2017-02-13 23:32:30Details Diff | issue 0002902: PyObjectBase notification chain can lead to unexpected changes to document | Affected Issues 0002902 | |
| mod - src/Base/PyObjectBase.cpp | Diff File | ||
| mod - src/Base/PyObjectBase.h | Diff File | ||
| mod - src/Mod/Test/Document.py | Diff File | ||
| FreeCAD: master 4f23b569 2017-02-14 12:09:09Details Diff | issue 0002902: replace members of PyObjectBase with a PyDictObject | Affected Issues 0002902 | |
| mod - src/Base/PyObjectBase.cpp | Diff File | ||
| mod - src/Base/PyObjectBase.h | Diff File | ||
| FreeCAD: master 19111f1e 2017-02-14 15:38:38Details Diff | issue 0002902: track attribute objects in parent structure to notify about changes | Affected Issues 0002902 | |
| mod - src/Base/PyObjectBase.cpp | Diff File | ||
| mod - src/Base/PyObjectBase.h | Diff File | ||
| FreeCAD: master f4d8945d 2017-02-14 15:41:14Details Diff | issue 0002902: add unit test | Affected Issues 0002902 | |
| mod - src/Mod/Test/Document.py | Diff File | ||
| Date Modified | Username | Field | Change | 
|---|---|---|---|
| 2017-02-12 18:20 | DeepSOIC | New Issue | |
| 2017-02-12 18:20 | DeepSOIC | File Added: link-change-example.FCStd | |
| 2017-02-12 18:22 | DeepSOIC | Additional Information Updated | |
| 2017-02-13 23:32 | wmayer | Changeset attached | => FreeCAD Master master b72aa9f3 | 
| 2017-02-13 23:33 | wmayer | Status | new => closed | 
| 2017-02-13 23:33 | wmayer | Assigned To | => wmayer | 
| 2017-02-13 23:33 | wmayer | Resolution | open => fixed | 
| 2017-02-13 23:33 | wmayer | Fixed in Version | => 0.17 | 
| 2017-02-14 15:44 | wmayer | Changeset attached | => FreeCAD Master master 4f23b569 | 
| 2017-02-14 15:44 | wmayer | Changeset attached | => FreeCAD Master master 19111f1e | 
| 2017-02-14 15:44 | wmayer | Changeset attached | => FreeCAD Master master f4d8945d | 
| 2017-04-02 17:34 | DeepSOIC | Relationship added | related to 0002996 | 
 FreeCAD
 FreeCAD