static gboolean save_timeout (EmpathyChatroomManager *self) { EmpathyChatroomManagerPriv *priv = GET_PRIV (self); priv->save_timer_id = 0; chatroom_manager_file_save (self); return FALSE; }
static void chatroom_manager_finalize (GObject *object) { EmpathyChatroomManager *self = EMPATHY_CHATROOM_MANAGER (object); EmpathyChatroomManagerPriv *priv; GList *l; priv = GET_PRIV (object); if (priv->account_manager_ready_handler_id > 0) { g_signal_handler_disconnect (priv->account_manager, priv->account_manager_ready_handler_id); } g_object_unref (priv->account_manager); if (priv->save_timer_id > 0) { /* have to save before destroy the object */ g_source_remove (priv->save_timer_id); priv->save_timer_id = 0; chatroom_manager_file_save (self); } for (l = priv->chatrooms; l != NULL; l = g_list_next (l)) { EmpathyChatroom *chatroom = l->data; g_signal_handlers_disconnect_by_func (chatroom, chatroom_changed_cb, self); g_object_unref (chatroom); } g_list_free (priv->chatrooms); g_free (priv->file); (G_OBJECT_CLASS (empathy_chatroom_manager_parent_class)->finalize) (object); }
static void chatroom_manager_finalize (GObject *object) { EmpathyChatroomManager *self = EMPATHY_CHATROOM_MANAGER (object); EmpathyChatroomManagerPriv *priv; priv = GET_PRIV (object); g_object_unref (priv->account_manager); if (priv->save_timer_id > 0) { /* have to save before destroy the object */ g_source_remove (priv->save_timer_id); priv->save_timer_id = 0; chatroom_manager_file_save (self); } clear_chatrooms (self); g_free (priv->file); (G_OBJECT_CLASS (empathy_chatroom_manager_parent_class)->finalize) (object); }