[object] Only destruct object if it's not trivially-destructible

Such that we're legally free to access the object to destruct its
(pointer) fields ourselves afterwards.  For things like hb_font_t,
hb_face_t, etc.
This commit is contained in:
Behdad Esfahbod 2022-08-18 15:21:48 -06:00
parent 172cc82032
commit de37b2650d
1 changed files with 2 additions and 1 deletions

View File

@ -273,7 +273,8 @@ static inline bool hb_object_destroy (Type *obj)
hb_object_fini (obj);
obj->~Type ();
if (!std::is_trivially_destructible<Type>::value)
obj->~Type ();
return true;
}