[set] Fix init/fini of set on the stack to call object init/fini
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
This commit is contained in:
parent
37b95612d4
commit
f1f6bc0a6f
|
@ -193,18 +193,28 @@ struct hb_set_t
|
|||
hb_vector_t<page_map_t, 8> page_map;
|
||||
hb_vector_t<page_t, 1> pages;
|
||||
|
||||
inline void init (void)
|
||||
inline void init_shallow (void)
|
||||
{
|
||||
in_error = false;
|
||||
population = 0;
|
||||
page_map.init ();
|
||||
pages.init ();
|
||||
}
|
||||
inline void fini (void)
|
||||
inline void init (void)
|
||||
{
|
||||
hb_object_init (this);
|
||||
init_shallow ();
|
||||
}
|
||||
inline void fini_shallow (void)
|
||||
{
|
||||
page_map.fini ();
|
||||
pages.fini ();
|
||||
}
|
||||
inline void fini (void)
|
||||
{
|
||||
hb_object_fini (this);
|
||||
fini_shallow ();
|
||||
}
|
||||
|
||||
inline bool resize (unsigned int count)
|
||||
{
|
||||
|
|
|
@ -45,7 +45,7 @@ hb_set_create (void)
|
|||
if (!(set = hb_object_create<hb_set_t> ()))
|
||||
return hb_set_get_empty ();
|
||||
|
||||
set->init ();
|
||||
set->init_shallow ();
|
||||
|
||||
return set;
|
||||
}
|
||||
|
@ -96,7 +96,7 @@ hb_set_destroy (hb_set_t *set)
|
|||
{
|
||||
if (!hb_object_destroy (set)) return;
|
||||
|
||||
set->fini ();
|
||||
set->fini_shallow ();
|
||||
|
||||
free (set);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue