occt: master 8b8bffc6

Author Committer Branch Timestamp Parent
szy szy master 2012-09-14 13:20:57 master efd4b232
Affected Issues  0021977: Unsafe implementation of TNaming_Builder
Changeset 0021977: Unsafe implementation of TNaming_Builder

The code is corrected to create instances of TNaming_Builder class dynamically. Note that they cannot be created as local variables as they should be instantiated only when needed and then reused for the subshapes of the same type in cycle.

Code around is cleaned from tabs and duplicated fragments.

TNaming_Builder class is changed to use Handles instead of C pointers in its fields.
This should protect from possible access to the freed memory if attribute is deleted while instance of TNaming_Builder is still alive.
In addition, method to construct dummy vertex for storing orientation is simplified.
mod - src/TNaming/TNaming_Builder.cdl Diff File
mod - src/TNaming/TNaming_NamedShape.cxx Diff File