GNOME Bugzilla – Bug 99242
GConfmm: code cleanups, leak fixes.
Last modified: 2011-01-16 23:35:19 UTC
Attached is a patch that *) makes Gnome::Conf::Value gtkmmproc-generated. *) fixes the ownership problems in List_Helpers. *) modifies code to use Glib::SListHandle<T> for all GSList-related issues. (API-Break) *) makes many methods in Gnome::Conf::Client gtkmmproc-generated. *) wraps Gnome::Conf::ChangeSet. Sorry for the big patch, but a) 40% of it are removed files and b) most of the changes relate to the different constructor semantics of CppType(CType *,bool take_copy). We now use the same semantics as the rest of Gnomemm. The only major API-Break is the handling of the lists. The list-related methods of CLient and Value take new parameters that are SListHandle-based. Files removed: gconf/gconfmm/list_conversion.h gconf/gconfmm/value.h gconf/gconfmm/value.cc Files added (new): gconf/src/value.hg gconf/src/value.ccg gconf/src/changeset.hg gconf/src/changeset.ccg gconf/gconfmm/value_listhelpers.h gconf/gconfmm/setinterface.h gconf/gconfmm/setinterface.cc
Created attachment 12471 [details] [review] Patch for ownership and list handling changes.
After applying this patch: When I run the client example, it segfaults when I type text into one of the Entries. Does this happen for you also?
Guilty as charged. Seems that no matter how much you try, the first one who see it will spot the error. Attached is the fix. Inconsistent APIs... On another note, the examples don't seem to be compiled by default.
Created attachment 12483 [details] [review] fix ownership of Entry::get_value().
Looks great. I remember now thinking about how ChangeSet and Client should share an interface somehow. The documentation is great, and better than the original GConf. I'm glad that we have a new doxygen expert. Applied with minor corrections to the english documentation and some syntax corrections: - The m4 macros don't need ; at the end. - Please don't use tabs. Try to use 2 spaces per indent. - Try to put a space after , - Try to put a space both sides of = This style is not documented anywhere, but it is always best to try to match the existing style in any file. Actually, the formatting problems might not be part of your patch - they might have been there already. Thanks for taking the time to split the patches up. It was much easier this way.