Currently a hash table is created during xfconf_init(). I think this is not needed and a 'waste' of memory since most people will not use named structures. Better init the hash table when adding the first named structure.
Created attachment 1759 Lazy init the hash table. * Lazy init the hash table inside xfconf_named_struct_register(). * Use slice allocator for the XfconfNamedStruct structure. * Added usable warning when the struct is already in the table, could be replaced with a simple g_return_if_fail() after creating the table, but this is more to to point IMHO.
Btw, haven't tested the code, but it looks safe to me...
Looks fine to me too. Go ahead and commit.
Committed in revision 27429.