mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-05-16 10:54:53 +03:00
Added destructor for TDocStd_Document which performs destruction of document in logical order in order to avoid exception when Undo and Redo fields are destructed after THF_Data field. Added removing name of closed document from tcl variables in the DRAW in order to avoid exception during use the same name for new document. Modification to avoid compilation error class ViewerTest Minor correction in test caf basic G3
36 lines
806 B
Plaintext
Executable File
36 lines
806 B
Plaintext
Executable File
# Test for #23489: memory leak in TNaming_NamedShape destructor
|
|
|
|
pload OCAF
|
|
|
|
# take some big file to be loaded
|
|
set file [locate_data_file Bottom.brep]
|
|
|
|
set listmem {}
|
|
for {set i 1} {$i < 10} {incr i} {
|
|
# load big shape
|
|
restore $file a
|
|
|
|
# add shape to new OCAF document
|
|
NewDocument D MDTV-Standard
|
|
|
|
# add shape to document
|
|
SetShape D 0:1 a
|
|
|
|
# Note: if ForgetAll or Undo is called here, memory is correctly freed!
|
|
# ForgetAll D 0:1
|
|
|
|
# close document
|
|
Close D
|
|
|
|
|
|
# unload shape (replace by small one)
|
|
vertex a 0 0 0
|
|
|
|
# check memory usage (with tolerance equal to half page size)
|
|
lappend listmem [expr [meminfo w] / 1024]
|
|
if { [checktrend $listmem 0 256 "Memory leak detected"] } {
|
|
puts "No memory leak, $i iterations"
|
|
break
|
|
}
|
|
}
|