Fixed a latent bug in Tab.InsertAt() where inserted controls are appended to t.children, causing issues during Tab.Destroy().

This commit is contained in:
Pietro Gagliardi 2015-12-12 23:53:27 -05:00
parent 38c3288c6b
commit e7e3ea0529
1 changed files with 6 additions and 1 deletions

7
tab.go
View File

@ -94,7 +94,12 @@ func (t *Tab) InsertAt(name string, n int, child Control) {
// TODO why is this uintmax_t and not intmax_t
C.uiTabInsertAt(t.t, cname, C.uintmax_t(n), c)
freestr(cname)
t.children = append(t.children, child)
ch := make([]Control, len(t.children) + 1)
// and insert into t.children at the right place
copy(ch[:n], t.children[:n])
ch[n] = child
copy(ch[n + 1:], t.children[n:])
t.children = ch
}
// Delete deletes the nth page of the Tab.