diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2009-04-28 03:36:19 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-04-28 20:22:22 +0800 |
commit | 0d3ef53bd7c1d7d96906f0f8348151a453e79078 (patch) | |
tree | 1964bc931216772980cb31afe989b62ca3d6f7fa /e-util | |
parent | fab97ac4cfde3511832be5079d7da909bdbc632f (diff) | |
download | gsoc2013-evolution-0d3ef53bd7c1d7d96906f0f8348151a453e79078.tar gsoc2013-evolution-0d3ef53bd7c1d7d96906f0f8348151a453e79078.tar.gz gsoc2013-evolution-0d3ef53bd7c1d7d96906f0f8348151a453e79078.tar.bz2 gsoc2013-evolution-0d3ef53bd7c1d7d96906f0f8348151a453e79078.tar.lz gsoc2013-evolution-0d3ef53bd7c1d7d96906f0f8348151a453e79078.tar.xz gsoc2013-evolution-0d3ef53bd7c1d7d96906f0f8348151a453e79078.tar.zst gsoc2013-evolution-0d3ef53bd7c1d7d96906f0f8348151a453e79078.zip |
Commit the rest of the attachment UI rewrite
Oops, last commit only included the -new- files.
This also removes EExpander, which is no longer used.
Diffstat (limited to 'e-util')
-rw-r--r-- | e-util/e-util.c | 30 | ||||
-rw-r--r-- | e-util/e-util.h | 5 |
2 files changed, 35 insertions, 0 deletions
diff --git a/e-util/e-util.c b/e-util/e-util.c index 071f5e58b8..04be119657 100644 --- a/e-util/e-util.c +++ b/e-util/e-util.c @@ -1531,3 +1531,33 @@ e_camel_object_get_type (void) return type; } + +static gpointer +e_camel_object_copy (gpointer camel_object) +{ + if (CAMEL_IS_OBJECT (camel_object)) + camel_object_ref (camel_object); + + return camel_object; +} + +static void +e_camel_object_free (gpointer camel_object) +{ + if (CAMEL_IS_OBJECT (camel_object)) + camel_object_unref (camel_object); +} + +GType +e_camel_object_get_type (void) +{ + static GType type = 0; + + if (G_UNLIKELY (type == 0)) + type = g_boxed_type_register_static ( + "ECamelObject", + (GBoxedCopyFunc) e_camel_object_copy, + (GBoxedFreeFunc) e_camel_object_free); + + return type; +} diff --git a/e-util/e-util.h b/e-util/e-util.h index 84ec411516..34ef3466d3 100644 --- a/e-util/e-util.h +++ b/e-util/e-util.h @@ -146,6 +146,11 @@ gboolean e_util_read_file (const gchar *filename, #define E_TYPE_CAMEL_OBJECT (e_camel_object_get_type ()) GType e_camel_object_get_type (void); +/* Camel uses its own object system, so we have to box + * CamelObjects to safely use them as GObject properties. */ +#define E_TYPE_CAMEL_OBJECT (e_camel_object_get_type ()) +GType e_camel_object_get_type (void); + G_END_DECLS #endif /* _E_UTIL_H_ */ |