I think adding an object to a `ListModel` does not alter its ownership. If the page with the initial property which holds a reference to the object returned from the C++ method is destroyed, then I would expect that object to be destroyed as well. Personally, I usually prefer to control the life time of an object by the C++ side or by instantiated types in the QML side. Unless I’m wrong about `ListModel` not taking ownership in `append`, I’d recommend not tempering with the object ownership rules manually. Also, is there a code sample that you can provide for this?
> On Apr 30, 2022, at 17:40, Alberto Mardegan <[email protected]> > wrote: > > Hi there! > > I think I'm experiencing an issue related to > https://bugreports.qt.io/browse/QTBUG-50319 > > In my case, I have a C++ method returning a new QObject, which has automatic > Javascript ownership. This is fine, because indeed I want to have my object > managed by the QML engine. > > Then I'm passing the object as a property to a subpage, and also storing it > into a ListModel (by calling append()). If I navigate to the subpage where I > passed my object as a property, I can see that it is working fine. If I then > navigate to another page where I have a ListView operating on that ListModel > where I added my object, that works fine as well. > > The problem happens when I navigate back from the page with the ListView. It > seems to me, that when that page gets destroyed my object gets destroyed as > well, despite being still used in the ListModel (which is never getting > destroyed). > > I'm working around this by setting the ownership to C++ and never actually > destroying the objects (since I have few of them anyways), but I suspect that > this might be a bug in the garbage collection. > > Ciao, > Alberto > > -- > http://www.mardy.it - Geek in un lingua international > _______________________________________________ > Development mailing list > [email protected] > https://lists.qt-project.org/listinfo/development _______________________________________________ Development mailing list [email protected] https://lists.qt-project.org/listinfo/development
