diff options
Diffstat (limited to 'gee/hashset.vala')
-rw-r--r-- | gee/hashset.vala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gee/hashset.vala b/gee/hashset.vala index f042e7622..a5a98050c 100644 --- a/gee/hashset.vala +++ b/gee/hashset.vala @@ -99,8 +99,13 @@ public class Gee.HashSet<G> : CollectionObject, Iterable<G>, Collection<G>, Set< public bool remove (G key) { Node<G>** node = lookup_node (key); if (*node != null) { + Node<G> next = (owned) (*node)->next; + (*node)->key = null; - *node = (*node)->next; + delete *node; + + *node = (owned) next; + _nnodes--; resize (); _stamp++; |