Hi
----- Original Message -----
>
>
> On 02/02/2017 15:51, Marc-André Lureau wrote:
> > + if (QTAILQ_IN_USE(chr, next)) {
> > + QTAILQ_REMOVE(&chardevs, chr, next);
> > + }
> > + if (OBJECT(chr)->parent) {
> > + object_unparent(OBJECT(chr));
> > + } else {
> > + object_unref(OBJECT(chr));
> > + }
>
> What's the case where the "else" is used? Probably qemu_chr_delete
> callers should be changed to use object_unparent or object_unref directly.
I thought about that, but calling object_unparent() seems weird, since callers
aren't much aware of the fact that chardev are added or not to a container
(useless distinction imho). I wish the last object_unref() would automatically
unparent, if the object has a parent. Would that be acceptable?