On Wed, 9 Feb 2011, John Emmas wrote: > On 9 Feb 2011, at 20:06, Allin Cottrell wrote: > > > You're missing Tor's point. Yes, all memory leaks are bad, but > > most (all?) of the instances of not-explicitly-released memory > > in the GTK stack are _not_ leaks. If you still have a pointer to > > it, it ain't a leak, even if a dumb debugger says so. > > > But my original example looked like this:- > > Gtk::Main *app = new Gtk::Main (&argc, &argv); > > delete app; > > How could there possibly be valid pointers still lurking after > those operations? Sure, there'll be pointers and they'll be > pointing to some memory - but neither of them is valid any more.
You initialized the GTK library stack. That involves lots of allocations that have nothing specifically to do with your program. The pointers are maintained at the level of the library code, not your app. I'm afraid you're talking through your hat here. Have your ever worked through the code for even a simple shared library that saves state? Freeing all memory on exit can be useful as a debugging exercise (e.g. if you get a segfault that tells you something), but aside from that it's a pure waste of CPU cycles. Allin Cottrell _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list