Archived issue #0025341
Visualization - disallow displaying object as part of connected one and as a free one at the same time
Description
When using some connection fucntionality objects may dissapear after enabling the texture.
Steps to reproduce
Minimal test case:
Erasing of original interactive object results to low-level structures to point dead pointers.
Original test case:
pload MODELING VISUALIZATION vinit box b 1.0 1.0 1.0 psphere s 0.5 vdisplay b s vconnect bs 2 0 0 b s vconnect bsc 6 0 0 bs vconnect bscc 10 0 0 bsc vfit vremove b
Erasing of original interactive object results to low-level structures to point dead pointers.
Original test case:
pload ALL vinit box b 1 1 1 psphere s 0.5 vdisplay b s vsetlocation s 0 2.5 0 box d 0.5 0.5 3 box d2 0.5 3 0.5 vdisplay d d2 vfit vconnectto b1 -2 0 0 b vconnect z 2 0 0 b s vconnect z2 4 0 0 d d2 vconnect z3 6 0 0 z z2 vconnect z4 10 0 0 z3 z2 vfit vaddc z4 0 4 0 s vsetdispmode 1 vtexture b 5
Public activity
9 archived notes
Participants are labeled by their role within this record.
Technically this is not allowed combination displaying object as connected and as not connected at the same time. But it would be good to have some protection against this situation.
Problem described in issue is reproduced on current state of OCCT.
Branch [archived branch] has been created by Commenter 3.
[revision removed]
Detailed log of new commits:
Author: Commenter 3
Date: Sat Sep 28 13:36:24 2019 +0300
0025341: Visualization - disallow displaying object as part of connected one and as a free one at the same time
AIS_ConnectedInteractive::connect() now throws exception on connecting already displayed object.
Commands vconnect, vconnectto and vaddconnected have been corrected to
replace dispalyed AIS_Shape with AIS_ConnectedInteractive in context.
[revision removed]
Detailed log of new commits:
Author: Commenter 3
Date: Sat Sep 28 13:36:24 2019 +0300
0025341: Visualization - disallow displaying object as part of connected one and as a free one at the same time
AIS_ConnectedInteractive::connect() now throws exception on connecting already displayed object.
Commands vconnect, vconnectto and vaddconnected have been corrected to
replace dispalyed AIS_Shape with AIS_ConnectedInteractive in context.
Branch [archived branch] has been updated forcibly by Commenter 3.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Commenter 3.
[revision removed]
[revision removed]
Patch is ready for review.
http://jenkins-test-12.nnov.opencascade.com:8080/view/CR25341-master-KGV/
http://jenkins-test-12.nnov.opencascade.com:8080/view/CR25341-master-KGV/
Branch CR25341 reviewed without remarks.
Combination -
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.
Number of compiler warnings:
No new/fixed warnings
Regressions/Differences/Improvements:
No regressions/differences
CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16720.70000000006 / 16808.79000000008 [-0.52%]
Products
Total CPU difference: 10565.860000000032 / 10573.91000000004 [-0.08%]
Windows-64-VC14:
OCCT
Total CPU difference: 18248.828125 / 18298.78125 [-0.27%]
Products
Total CPU difference: 12479.015625 / 12507.671875 [-0.23%]
Image differences :
No differences that require special attention
Memory differences :
No differences that require special attention
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.
Number of compiler warnings:
No new/fixed warnings
Regressions/Differences/Improvements:
No regressions/differences
CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16720.70000000006 / 16808.79000000008 [-0.52%]
Products
Total CPU difference: 10565.860000000032 / 10573.91000000004 [-0.08%]
Windows-64-VC14:
OCCT
Total CPU difference: 18248.828125 / 18298.78125 [-0.27%]
Products
Total CPU difference: 12479.015625 / 12507.671875 [-0.23%]
Image differences :
No differences that require special attention
Memory differences :
No differences that require special attention
Branch [archived branch] has been deleted by Commenter 3.
[revision removed]
[revision removed]
Related records
- #0027957 · related to · closedVisualization, AIS_InteractiveContext - protect from displaying the same AIS_InteractiveObject within multiple contexts
- #0030989 · has duplicate · newVisualization - heap-use-after-free reported by Clang address sanitizer in OpenGl_Structure::IsRaytracable()
- #0030675 · related to · closedVisualization - remove redundant proxy classes in hierarchy of PrsMgr_Presentation