View Issue Details

IDProjectCategoryView StatusLast Update
0028259Open CASCADEOCCT:Modeling Algorithmspublic2017-09-29 16:25
ReportermsvAssigned Tobugmaster  
PrioritynormalSeveritytrivial 
Status closedResolutionfixed 
Product Version7.1.0 
Target Version7.2.0Fixed in Version7.2.0 
Summary0028259: Method MakeBlocksCnx is duplicated in two different places in BOPAlgo
DescriptionThere are two methods with the name MakeBlocksCnx in the package BOPAlgo:

- public static method of the class BOPAlgo_Tools;
- local static method in the file BOPAlgo_Builder_2.cxx

Implementation of these methods looks like copy-paste of each other, with small modification regarding the type of items in the input containers. In one method they are shapes, in the other they are indices of shapes.

The same is for the methods FillMap with the following parameters:

  void FillMap(const TopoDS_Shape& aS1,
               const TopoDS_Shape& aS2,
               BOPCol_IndexedDataMapOfShapeListOfShape& aDMSLS,
               Handle(NCollection_BaseAllocator)& aAllocator);
  void FillMap(const Standard_Integer tneN1,
               const Standard_Integer tneN2,
               BOPCol_IndexedDataMapOfIntegerListOfInteger& theMILI,
               const BOPCol_BaseAllocator& theAllocator);

They are implemented also in these two files.

It is needed to remove local static methods and to use methods of the class BOPAlgo_Tools. Some modification of calling code will be necessary to switch to new structures.
Steps To ReproduceNot needed.
TagsNo tags attached.
Test case numberNot needed

Activities

emv

2017-05-03 08:49

developer   ~0065696

The similar methods:
void BOPAlgo_Tools::FillMap(const Handle(BOPDS_PaveBlock)& aPB1,
                            const Handle(BOPDS_PaveBlock)& aPB2,
                            BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock& aMPBLPB,
                            const Handle(NCollection_BaseAllocator)& aAllocator)

void BOPAlgo_Tools::MakeBlocks(const BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock& aMILI,
                               BOPDS_DataMapOfIntegerListOfPaveBlock& aMBlocks,
                               const Handle(NCollection_BaseAllocator)& aAllocator)

It is necessary to unify implementation of all these methods using two template functions - one for FillMap and the other for MakeBlocks.

git

2017-05-25 13:35

administrator   ~0066580

Branch CR28259 has been created by emv.

SHA-1: 5202aa3f373858c2c38eab8d0b7a8ba9a2c7b74a


Detailed log of new commits:

Author: emv
Date: Sun Apr 30 01:09:36 2017 +0300

    0028259: Method MakeBlocksCnx is duplicated in two different places in BOPAlgo
    
    The implementation of the methods BOPAlgo_Tools::MakeBlocksCnx(), BOPAlgo_Tools::MakeBlocks() and static method MakeBlocksCnx in BOPAlgo_Builder_2.cxx have been replaced with the usage of the new template method MakeBlocksT().
    The implementation of all methods BOPAlgo_Tools::FillMap() have been replaced with the usage of the new template method FillMapT().
    
    Making the Pave Block with the smallest index of original edge to be the first in the Common Block (i.e. the representing Pave Block).
    
    The following improvements have been made in Boolean Operations algorithm to avoid regressions:
    - When updating the existing common block update its pave blocks in a way that the parameters of the paves should be valid for the original edge (bugs/modalg_5/bug24809);
    - When trying to reduce the tolerance of the section edge check the tolerance of all Face/Face interferences created this edge (boolean/volumemaker/C4,D2);
    - Avoid producing the different Pave Blocks for the same section edge (boolean/volumemaker/D6);
    
    Adjustment of the test cases.

emv

2017-05-25 13:37

developer   ~0066581

Dear Mikhail, could you please review the branch CR28259?

git

2017-05-25 18:08

administrator   ~0066608

Branch CR28259 has been updated by emv.

SHA-1: a19f720a0bb48efb88873d69465ed09b39b1fec8


Detailed log of new commits:

Author: emv
Date: Thu May 25 18:07:37 2017 +0300

    Keep only template functions BOPAlgo_Tools::MakeBlocks() and BOPAlgo_Tools::FillMap().

git

2017-05-25 18:12

administrator   ~0066610

Branch CR28259_1 has been created by emv.

SHA-1: b183b2c053823cd04c70e1a7295ccd5c0cb16f50


Detailed log of new commits:

Author: emv
Date: Sun Apr 30 01:09:36 2017 +0300

    0028259: Method MakeBlocksCnx is duplicated in two different places in BOPAlgo
    
    The methods BOPAlgo_Tools::MakeBlocksCnx(), BOPAlgo_Tools::MakeBlocks() and static method MakeBlocksCnx in BOPAlgo_Builder_2.cxx have been replaced with the new template method BOPAlgo_Tools::MakeBlocks().
    All methods BOPAlgo_Tools::FillMap() have been replaced with the new template method BOPAlgo_Tools::FillMap().
    
    Making the Pave Block with the smallest index of original edge to be the first in the Common Block (i.e. the representing Pave Block).
    
    The following improvements have been made in Boolean Operations algorithm to avoid regressions:
    - When updating the existing common block update its pave blocks in a way that the parameters of the paves should be valid for the original edge (bugs/modalg_5/bug24809);
    - When trying to reduce the tolerance of the section edge check the tolerance of all Face/Face interferences created this edge (boolean/volumemaker/C4,D2);
    - Avoid producing the different Pave Blocks for the same section edge (boolean/volumemaker/D6);
    
    Adjustment of the test cases.

emv

2017-05-25 18:16

developer   ~0066612

The corrections have been made according to verbal remarks. These corrections are localized in last commit to CR28259 branch. The branch CR28259_1 contains all changes and the correct commit message. Please review again.

msv

2017-05-26 09:18

developer   ~0066620

In commit massage:
"check the tolerance of all Face/Face interferences created this edge"
=>
"check the tolerance of all Face/Face interferences that created this edge"

src\BOPAlgo\BOPAlgo_Tools.hxx
- useless include of BOPDS_DataMapOfIntegerListOfPaveBlock
- it seems the argument theMBlocks of the method MakeBlocks has too complex type. According to the context where it is used it is enough to have list of list.

git

2017-05-26 10:36

administrator   ~0066621

Branch CR28259 has been updated by emv.

SHA-1: dff7c8e329c5fffba25d6a28fa2450b58bbac75f


Detailed log of new commits:

Author: emv
Date: Fri May 26 10:33:49 2017 +0300

    In the method BOPAlgo_Tools::MakeBlocks() store the connected elements into the list of list instead of data map.

git

2017-05-26 10:42

administrator   ~0066622

Branch CR28259_1 has been updated forcibly by emv.

SHA-1: dddfd809101aa16c18062e872854491d156d106c

emv

2017-05-26 10:43

developer   ~0066623

Done, please review.

git

2017-05-26 11:11

administrator   ~0066627

Branch CR28259_1 has been updated forcibly by emv.

SHA-1: 14035d1d673e84f52d4afa471f4f8dad8dac9a97

git

2017-05-26 11:18

administrator   ~0066630

Branch CR28259_1 has been updated forcibly by emv.

SHA-1: 648fab3b6b396e55a2f4b402d024685cb39f6142

msv

2017-05-26 11:20

developer   ~0066631

Reviewed.

git

2017-05-26 15:26

administrator   ~0066647

Branch CR28259_1 has been updated forcibly by mkv.

SHA-1: 899020d3ba52d1973f5103dbee2b12ace9eb425b

mkv

2017-05-26 16:35

tester   ~0066659

Dear BugMaster,
Branch CR28259_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms on Release mode.
SHA-1: 899020d3ba52d1973f5103dbee2b12ace9eb425b

There are compilation errors:

http://jenkins-test-07.nnov.opencascade.com:8080/view/CR28259_1-master/job/CR28259_1-master-OCCT-Debian70-64-opt-compile/1/parsed_console/

/dn54/builds/CR28259_1-master/Debian70-64-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:54:7: error: need 'typename' before 'NCollection_List<theType>::Iterator' because 'NCollection_List<theType>' is a dependent scope
/dn54/builds/CR28259_1-master/Debian70-64-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:54:43: error: expected ';' before 'aItLChain'
/dn54/builds/CR28259_1-master/Debian70-64-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:55:14: error: 'aItLChain' was not declared in this scope
/dn54/builds/CR28259_1-master/Debian70-64-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:59:14: error: need 'typename' before 'NCollection_List<theType>::Iterator' because 'NCollection_List<theType>' is a dependent scope
/dn54/builds/CR28259_1-master/Debian70-64-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:59:50: error: expected ';' before 'aItLI'
/dn54/builds/CR28259_1-master/Debian70-64-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:59:62: error: 'aItLI' was not declared in this scope

/dn54/builds/CR28259_1-master/Debian70-64-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:43:65: error: no matching function for call to 'NCollection_Map<TopoDS_Shape, TopTools_ShapeMapHasher>::NCollection_Map(const BOPCol_BaseAllocator&)'

/dn54/builds/CR28259_1-master/Debian70-64-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:54:7: error: dependent-name 'NCollection_List<theType>::Iterator' is parsed as a non-type, but instantiation yields a type
/dn54/builds/CR28259_1-master/Debian70-64-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:54:7: note: say 'typename NCollection_List<theType>::Iterator' if a type is meant
/dn54/builds/CR28259_1-master/Debian70-64-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:59:60: error: dependent-name 'NCollection_List<theType>::Iterator' is parsed as a non-type, but instantiation yields a type
/dn54/builds/CR28259_1-master/Debian70-64-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:59:60: note: say 'typename NCollection_List<theType>::Iterator' if a type is meant

http://jenkins-test-07.nnov.opencascade.com:8080/view/CR28259_1-master/job/CR28259_1-master-OCCT-MacOS-opt-compile/1/parsed_console/

/Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:54:23: error: expected ';' after expression
      NCollection_List<theType>::Iterator aItLChain(aChain);
                      ^
                      ;
/Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:55:14: error: use of undeclared identifier 'aItLChain'; did you mean 'aChain'?
      for (; aItLChain.More(); aItLChain.Next()) {
             ^~~~~~~~~
             aChain
/Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:51:34: note: 'aChain' declared here
      NCollection_List<theType>& aChain = theMBlocks.Append(NCollection_List<theType>(theAllocator));
                                 ^
[ 39%] /Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:55:32: error: use of undeclared identifier 'aItLChain'; did you mean 'aChain'?
      for (; aItLChain.More(); aItLChain.Next()) {
                               ^~~~~~~~~
                               aChain
/Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:51:34: note: 'aChain' declared here
      NCollection_List<theType>& aChain = theMBlocks.Append(NCollection_List<theType>(theAllocator));
                                 ^
/Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:56:29: error: use of undeclared identifier 'aItLChain'; did you mean 'aChain'?
        const theType& n1 = aItLChain.Value();
                            ^~~~~~~~~
                            aChain
/Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:51:34: note: 'aChain' declared here
      NCollection_List<theType>& aChain = theMBlocks.Append(NCollection_List<theType>(theAllocator));
                                 ^
/Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:59:14: error: missing 'typename' prior to dependent type name 'NCollection_List<theType>::Iterator'
        for (NCollection_List<theType>::Iterator aItLI(aLI); aItLI.More(); aItLI.Next()) {
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             typename
Building CXX object src/TKDraw/CMakeFiles/TKDraw.dir/__/DBRep/DBRep_HideData.cxx.o
/Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:43:45: error: no matching constructor for initialization of 'NCollection_Map<TopoDS_Shape, TopTools_ShapeMapHasher>'
    NCollection_Map<theType, theTypeHasher> aMFence(theAllocator);
                                            ^ ~~~~~~~~~~~~

/Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:54:7: error: missing 'typename' prior to dependent type name 'NCollection_List<TopoDS_Shape>::Iterator'
      NCollection_List<theType>::Iterator aItLChain(aChain);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:54:43: error: use of undeclared identifier 'aItLChain'
      NCollection_List<theType>::Iterator aItLChain(aChain);
                                          ^
/Users/mnt/builds/CR28259_1-master/MacOS-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx:55:24: error: no member named 'More' in 'NCollection_List<TopoDS_Shape>'
      for (; aItLChain.More(); aItLChain.Next()) {
             ~~~~~~~~~ ^
9 errors generated.

http://jenkins-test-07.nnov.opencascade.com:8080/view/CR28259_1-master/job/CR28259_1-master-OCCT-Windows-64-VC10-opt-compile/1/parsed_console/

23>D:/builds/CR28259_1-master/Windows-64-VC10-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx(67): error C4519: default template arguments are only allowed on a class template
23>D:/builds/CR28259_1-master/Windows-64-VC10-opt/OCCT/src/BOPAlgo/BOPAlgo_Tools.hxx(87): error C4519: default template arguments are only allowed on a class template

git

2017-05-26 17:02

administrator   ~0066662

Branch CR28259_1 has been updated by emv.

SHA-1: 38e226d91f54d4140574e1e693e089c4b456e9e5


Detailed log of new commits:

Author: emv
Date: Fri May 26 16:58:16 2017 +0300

    // Corrections of the compilation errors.

emv

2017-05-26 17:03

developer   ~0066663

The compilation errors should be eliminated now. Please review.

msv

2017-05-26 17:38

developer   ~0066671

Reviewed.

mkv

2017-05-29 17:59

tester   ~0066824

Dear BugMaster,
Branch CR28259_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 38e226d91f54d4140574e1e693e089c4b456e9e5

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 64 (64 on master)
Windows: 0 (0 on master)
MacOS : 1208

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 91929501 / 91797911 [+0.14%]
Total CPU difference: 18906.610000000233 / 19346.9700000001 [-2.28%]
products component :
Total MEMORY difference: 31270768 / 31352485 [-0.26%]
Total CPU difference: 5425.829999999985 / 5393.529999999966 [+0.60%]
Testing on Windows:
occt component :
Total MEMORY difference: 58567549 / 58497831 [+0.12%]
Total CPU difference: 17342.178767098525 / 17520.28510879866 [-1.02%]
products component :
Total MEMORY difference: 22726695 / 22688363 [+0.17%]
Total CPU difference: 5360.927564699972 / 5357.885545199975 [+0.06%]

There are following differences in images found by testdiff.
http://occt-tests/CR28259_1-master-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR28259_1-master-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html

mkv

2017-05-29 18:00

tester   ~0066825

Dear emv,
Branch CR28259_1 has been rejected due to:
- differences in images

emv

2017-05-30 07:34

developer   ~0066842

Last edited: 2017-05-30 07:35

The differences in images are cased by changing the way of choosing the representing edge in the block of coinciding edges in Boolean Operations algorithm. As I see, all differences are minor, I did not find any difference which looks like a regression.
Dear Mikhail, can you point out the particular cases which look suspicious to you?

mkv

2017-05-30 16:34

tester   ~0066890

Dear BugMaster,
Branch CR28259_1 is TESTED.

git

2017-06-02 10:45

administrator   ~0066998

Branch CR28259_1 has been deleted by inv.

SHA-1: 38e226d91f54d4140574e1e693e089c4b456e9e5

git

2017-06-02 10:46

administrator   ~0066999

Branch CR28259 has been deleted by inv.

SHA-1: dff7c8e329c5fffba25d6a28fa2450b58bbac75f

Related Changesets

occt: master edfa30de

2017-04-29 22:09:36

emv


Committer: bugmaster Details Diff
0028259: Method MakeBlocksCnx is duplicated in two different places in BOPAlgo

The methods BOPAlgo_Tools::MakeBlocksCnx(), BOPAlgo_Tools::MakeBlocks() and static method MakeBlocksCnx in BOPAlgo_Builder_2.cxx have been replaced with the new template method BOPAlgo_Tools::MakeBlocks(). The blocks of connected elements are now stored into the list of list instead of data map.
All methods BOPAlgo_Tools::FillMap() have been replaced with the new template method BOPAlgo_Tools::FillMap().

Making the Pave Block with the smallest index of original edge to be the first in the Common Block (i.e. the representing Pave Block).

The following improvements have been made in Boolean Operations algorithm to avoid regressions:
- When updating the existing common block update its pave blocks in a way that the parameters of the paves should be valid for the original edge (bugs/modalg_5/bug24809);
- When trying to reduce the tolerance of the section edge check the tolerance of all Face/Face interferences that created this edge (boolean/volumemaker/C4,D2);
- Avoid producing the different Pave Blocks for the same section edge (boolean/volumemaker/D6);

Adjustment of the test cases.
Affected Issues
0028259
mod - dox/dev_guides/upgrade/upgrade.md Diff File
mod - src/BOPAlgo/BOPAlgo_Builder_2.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_1.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_10.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_3.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_7.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Tools.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Tools.hxx Diff File
mod - src/BOPDS/BOPDS_CommonBlock.cxx Diff File
mod - src/BOPDS/BOPDS_CommonBlock.hxx Diff File
mod - src/BOPDS/BOPDS_DS.cxx Diff File
mod - src/BOPDS/BOPDS_DS.hxx Diff File
mod - src/BOPDS/BOPDS_IndexedDataMapOfPaveBlockListOfInteger.hxx Diff File
mod - src/BOPTools/BOPTools_AlgoTools.cxx Diff File
mod - src/BRepOffset/BRepOffset_Inter3d.cxx Diff File
mod - src/BRepOffset/BRepOffset_MakeOffset.cxx Diff File
mod - src/BRepOffset/BRepOffset_MakeOffset_1.cxx Diff File
mod - tests/bugs/modalg_5/bug25721 Diff File
mod - tests/bugs/modalg_6/bug26954_3 Diff File
mod - tests/bugs/modalg_6/bug27383_1 Diff File
mod - tests/offset/shape_type_i_c/XC1 Diff File

Issue History

Date Modified Username Field Change
2016-12-22 10:35 msv New Issue
2016-12-22 10:35 msv Assigned To => msv
2016-12-22 10:36 msv Steps to Reproduce Updated
2017-05-03 08:49 emv Note Added: 0065696
2017-05-23 15:15 emv Assigned To msv => emv
2017-05-23 15:15 emv Status new => assigned
2017-05-25 13:35 git Note Added: 0066580
2017-05-25 13:37 emv Note Added: 0066581
2017-05-25 13:37 emv Assigned To emv => msv
2017-05-25 13:37 emv Status assigned => resolved
2017-05-25 18:08 git Note Added: 0066608
2017-05-25 18:12 git Note Added: 0066610
2017-05-25 18:16 emv Note Added: 0066612
2017-05-26 09:18 msv Note Added: 0066620
2017-05-26 09:18 msv Assigned To msv => emv
2017-05-26 09:18 msv Status resolved => assigned
2017-05-26 10:36 git Note Added: 0066621
2017-05-26 10:42 git Note Added: 0066622
2017-05-26 10:43 emv Note Added: 0066623
2017-05-26 10:43 emv Assigned To emv => msv
2017-05-26 10:43 emv Status assigned => resolved
2017-05-26 11:11 git Note Added: 0066627
2017-05-26 11:18 git Note Added: 0066630
2017-05-26 11:20 msv Note Added: 0066631
2017-05-26 11:20 msv Assigned To msv => bugmaster
2017-05-26 11:20 msv Status resolved => reviewed
2017-05-26 12:40 mkv Assigned To bugmaster => mkv
2017-05-26 15:26 git Note Added: 0066647
2017-05-26 16:35 mkv Note Added: 0066659
2017-05-26 16:35 mkv Assigned To mkv => emv
2017-05-26 16:35 mkv Status reviewed => assigned
2017-05-26 17:02 git Note Added: 0066662
2017-05-26 17:03 emv Note Added: 0066663
2017-05-26 17:03 emv Assigned To emv => msv
2017-05-26 17:03 emv Status assigned => resolved
2017-05-26 17:38 msv Note Added: 0066671
2017-05-26 17:38 msv Assigned To msv => bugmaster
2017-05-26 17:38 msv Status resolved => reviewed
2017-05-26 17:45 mkv Assigned To bugmaster => mkv
2017-05-29 17:59 mkv Note Added: 0066824
2017-05-29 18:00 mkv Note Added: 0066825
2017-05-29 18:00 mkv Assigned To mkv => emv
2017-05-29 18:00 mkv Status reviewed => feedback
2017-05-29 18:00 mkv Test case number => Not needed
2017-05-30 07:34 emv Note Added: 0066842
2017-05-30 07:34 emv Assigned To emv => mkv
2017-05-30 07:35 emv Note Edited: 0066842
2017-05-30 16:34 mkv Note Added: 0066890
2017-05-30 16:34 mkv Assigned To mkv => bugmaster
2017-05-30 16:34 mkv Status feedback => tested
2017-06-02 10:28 bugmaster Changeset attached => occt master edfa30de
2017-06-02 10:28 bugmaster Status tested => verified
2017-06-02 10:28 bugmaster Resolution open => fixed
2017-06-02 10:45 git Note Added: 0066998
2017-06-02 10:46 git Note Added: 0066999
2017-09-29 16:18 aiv Fixed in Version => 7.2.0
2017-09-29 16:25 aiv Status verified => closed