George Nassas wrote:

On 5-Jul-05, at 11:48 AM, George Nassas wrote:

It looks like something is definitely wrong in the managed list hierarchy but I haven't quite nailed it down yet.


Well, it seems that the problem is ManagedListGroup's itemList member which is a QPtrList. Switching it to an stl list brings me to stability. Everything added to the list gets destroyed OK so I guess it's not cleaning up after itself internally. It feels odd that both leaks I've uncovered are in the framework, I mean, sending data to an output stream and creating and destroying lists are pretty common operations. You'd think if there was a problem it would have appeared elsewhere. Especially since QPtrList is used all over myth. It's possible that the problem is with

QPtrList is not exactly the same as std list.. Its not meant to clean up after itself, you can call the QPtrList object with "setAutoDelete(true)" to make it behave that way though... When that is called, the object will free up all the pointers inside on delete.

(disclaimer: that's in the QT Docs, and I personally never used any QT Template library much to verify this)

Probably the thing that is closest to a std list is QValueList.

Anyhow, I'll submit something to trac within a few days. I also noticed that ManagedListGroup::getValueIndex and getTextIndex are using == to compare QStrings. I'll throw in a fix for no extra charge. ;)

QString objects can use the "==" operator to compare with another const char * or QString variable...



_______________________________________________
mythtv-dev mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to