Re: Adding tny_folder_get_folder_store and some other minor things
- From: Philip Van Hoof <spam pvanhoof be>
- To: Sergio Villar Senin <svillar igalia com>
- Cc: tinymail-devel-list gnome org
- Subject: Re: Adding tny_folder_get_folder_store and some other minor things
- Date: Fri, 16 Feb 2007 13:43:52 +0100
On Thu, 2007-02-15 at 18:34 +0100, Sergio Villar Senin wrote:
> +void
> +_tny_camel_folder_set_folder_info (TnyFolderStore *self, TnyCamelFolder *folder, CamelFolderInfo *info)
> +{
> + _tny_camel_folder_set_id (folder, info->full_name);
> + _tny_camel_folder_set_folder_type (folder, info);
> + _tny_camel_folder_set_unread_count (folder, info->unread);
> + _tny_camel_folder_set_all_count (folder, info->total);
> + _tny_camel_folder_set_name (folder, info->name);
> + _tny_camel_folder_set_iter (folder, info);
>
> + if (TNY_IS_CAMEL_STORE_ACCOUNT (self))
> + {
> + TnyCamelStoreAccountPriv *apriv = TNY_CAMEL_STORE_ACCOUNT_GET_PRIVATE (self);
> + apriv->managed_folders = g_list_prepend (apriv->managed_folders, folder);
> + _tny_camel_folder_set_account (folder, TNY_ACCOUNT (self));
> + } else if (TNY_IS_CAMEL_FOLDER (self)) {
> + TnyCamelFolderPriv *priv = TNY_CAMEL_FOLDER_GET_PRIVATE (self);
> + _tny_camel_folder_set_account (folder, priv->account);
> + }
> + _tny_camel_folder_set_parent (folder, self);
> +}
o. You need to add the folder to the managed_folders GList of the
account in both cases (follow the old code).
o. Set priv->parent to NULL initially
o. You aren't unreferencing priv->parent in finalise? Note that
referencing it in the _set_parent will double the reference count of
each folder (so you must unreference it, right?)
+ priv->parent = g_object_ref (G_OBJECT (parent));
o Why this?
static void
tny_camel_folder_store_add_observer (TnyFolderStore *self, TnyFolderStoreObserver *observer)
{
@@ -2641,6 +2661,10 @@
g_object_unref (G_OBJECT (priv->receive_strat));
priv->receive_strat = NULL;
+ if (G_LIKELY (priv->parent))
+ g_object_unref (G_OBJECT (priv->parent));
+ priv->parent = NULL;
+
g_mutex_unlock (priv->folder_lock);
--
Philip Van Hoof, software developer
home: me at pvanhoof dot be
gnome: pvanhoof at gnome dot org
http://www.pvanhoof.be/blog
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]