Made a small patch to use the latest features in glib. * Use slice allocator where possible. I know you stance against the slice allocator, but if _should_ be better then g_new and esp. in the xml backend a lot of 'slices' are allocated... * Use g_intern_static_string where possible, should be a bit faster too. * Use g_timeout_add_seconds for the save timeout, not a critical timeout, so better sync it with other timeouts to save some ticks. * Use GSList where possible, you're only walking the lists forward, so these are slightly more efficient. Dropped the macros in xfconf-common-private.h, looked like the best place to me.
Created attachment 1746 Patch
Created attachment 1747 Patch v2 Sorry, missed 1 include and (hopefully) better code style in the macros.
The slice macros are unnecessary; we require gtk 2.10/glib 2.12. Please remove them and just use gslice directly. The ifdef for g_timeout_add_seconds() just creates noise for no measurable benefit. Please remove that as well.
Created attachment 1748 Patch v3 Well configure.ac.in still had glib 2.8.0 as dependency version, therefore I added the macros you see ;-). * Use g_slice directly * Remove the seconds timeout * Set 2.12.0 as gobject dependency to be sure * Left the I_() macro in xfconf-common-private.h, personally I think it looks better then all the direct calls to g_intern_static_string().
Created attachment 1749 Patch v4 Sorry for another patch, but I've missed one GList. It's the one for user_files/system_files. I've also changed append -> prepend there, that can't hurd right (line 241 in the patch)? I'm not entirely sure here, so I haven't obsoluted the previous patch.
No, it needs to be append, otherwise the files get read in the wrong order. Otherwise feel free to commit without that change.
Reverted the prepend change and committed in revision 27394.