I put in an old patch I wrote a while ago in my spare time, to update
and speed up camel-object a bit. You'll need to rebuild anything that
depends on camel as camel-object-class and camel-object have changed
size.
Any other code (outside of gnome cvs:/evolution) that uses it may need
some slight changes (i.e. its not fully source compatible).
- camel_object_class_declare_event is now camel_object_class_add_event
This only got changed because of how i made the patch, its small
enough it shoudln't bother too many people, but can always be
reversed.
- CamelObject and CamelObjectClass no longer have a 'shared' structure
in them.
- CamelObject now uses 'klass' to directly point to the class/type
(CamelType), rather than 'classfuncs'. 'type' no longer exists.
- CamelType is now directly the class pointer. This means get_type()
functions need to return CamelType, not guint.
- CamelObject's base size is 4 bytes smaller.
- casting & type checking is a lot faster.
- The code is now a fair bit simpler and easier to follow, and includes
some extra compile time debugging options, like being able to track
all object instances.
There is also now a get_argv/set_argv interface. Still not sure it'll
stay as it is, but it probably will, its simple to use (uses varags) and
implement (uses an array), and uses guint32 'typed tags' rather than
strings. Still need to fully define the semantics for e.g.
inheritence/overriding, and tag definition too.
There was also a patch to not use quote astrings if the string could be
represented as an atom. Keep an eye out incase this breaks anyones IMAP
stuff, it probably mainly affects login.
_______________________________________________
evolution-hackers maillist - [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/evolution-hackers