File tree Expand file tree Collapse file tree 2 files changed +16
-4
lines changed
Expand file tree Collapse file tree 2 files changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -350,10 +350,8 @@ void dbRegion::destroy(dbRegion* region_)
350350 dbSet<dbGroup>::iterator gitr;
351351
352352 for (gitr = groups.begin (); gitr != groups.end (); gitr = groups.begin ()) {
353- _dbGroup* _group = (_dbGroup*) *gitr;
354- _group->region_ = 0 ;
355- _group->region_next_ = 0 ;
356- _group->region_prev_ = 0 ;
353+ dbGroup* group = *gitr;
354+ region_->removeGroup (group);
357355 }
358356
359357 dbProperty::destroyProperties (region);
Original file line number Diff line number Diff line change @@ -79,7 +79,21 @@ proc test_destroy { } {
7979 tearDown $db
8080}
8181
82+ proc test_region_w_groups_destroy { } {
83+ lassign [createSimpleDB] db lib
84+ set block [create1LevelBlock $db $lib [$db getChip]]
85+
86+ # create region
87+ set foo_region [odb::dbRegion_create $block foo_region]
88+ # and a group
89+ set foo_group [odb::dbGroup_create $foo_region foo_group]
90+ # destroy region while it has group
91+ odb::dbRegion_destroy $foo_region
92+ tearDown $db
93+ }
94+
8295test_default
8396test_destroy
97+ test_region_w_groups_destroy
8498puts " pass"
8599exit 0
You can’t perform that action at this time.
0 commit comments