+2004-06-23 Chris Toshok <toshok@ximian.com>
+
+ * libebook/e-book.c (e_book_response_add_contact): ref in the
+ assignment.
+ (e_book_response_get_supported_fields): same.
+ (e_book_response_get_supported_auth_methods): same.
+ (emit_async_get_contact_response): unref the book before
+ returning.
+ (e_book_response_get_contact): ref the book in the assignment.
+ (emit_async_get_book_view_response): unref the book before
+ returning.
+ (e_book_response_get_book_view): ref the book in the assignment.
+ (e_book_response_get_contacts): same.
+ (emit_async_get_changes_response): unref the book before
+ returning.
+ (e_book_response_get_changes): ref the book in the assignment.
+ (emit_async_generic_response): we ref before registering the idle
+ handler.
+ (e_book_response_generic): ref the book in the assignment.
+ (emit_async_open_response): unref the book before returning
+ (e_book_response_open): ref the book in the assignment.
+ (e_book_response_remove): same.
+
2004-06-23 Hans Petter Jansson <hpj@ximan.com>
* libebook/e-book.c (emit_async_generic_response): Keep a ref on
g_mutex_unlock (op->mutex);
}
else {
- g_object_ref (book);
-
- op->book = book;
+ op->book = g_object_ref (book);
op->idle_id = g_idle_add (emit_async_add_contact_response, op);
book->priv->pending_idles = g_list_prepend (book->priv->pending_idles,
for (l = fields; l; l = l->next)
e_list_append (efields, l->data);
- g_object_ref (book);
-
- op->book = book;
+ op->book = g_object_ref (book);
op->elist = efields;
op->idle_id = g_idle_add (emit_async_elist_response, op);
for (l = auth_methods; l; l = l->next)
e_list_append (emethods, l->data);
- g_object_ref (book);
-
- op->book = book;
+ op->book = g_object_ref (book);
op->elist = emethods;
op->idle_id = g_idle_add (emit_async_elist_response, op);
e_book_clear_op (book, op);
+ g_object_unref (book);
+
return FALSE;
}
g_mutex_unlock (op->mutex);
}
else {
- op->book = book;
+ op->book = g_object_ref (book);
op->idle_id = g_idle_add (emit_async_get_contact_response, op);
book->priv->pending_idles = g_list_prepend (book->priv->pending_idles,
e_book_clear_op (book, op);
+ g_object_unref (book);
+
return FALSE;
}
g_mutex_unlock (op->mutex);
}
else {
- op->book = book;
+ op->book = g_object_ref (book);
op->idle_id = g_idle_add (emit_async_get_book_view_response, op);
book->priv->pending_idles = g_list_prepend (book->priv->pending_idles,
g_mutex_unlock (op->mutex);
}
else {
- g_object_ref (book);
-
- op->book = book;
+ op->book = g_object_ref (book);
op->status = status;
op->idle_id = g_idle_add (emit_async_get_contacts_response, op);
book->priv->pending_idles = g_list_prepend (book->priv->pending_idles,
GINT_TO_POINTER (op->idle_id));
e_book_clear_op (book, op);
+ g_object_unref (book);
+
return FALSE;
}
g_mutex_unlock (op->mutex);
}
else {
- op->book = book;
+ op->book = g_object_ref (book);
op->idle_id = g_idle_add (emit_async_get_changes_response, op);
book->priv->pending_idles = g_list_prepend (book->priv->pending_idles,
GINT_TO_POINTER (op->idle_id));
EBookOp *op = data;
EBook *book = op->book;
- g_object_ref (book);
-
if (op->cb.status)
op->cb.status (book, op->status, op->closure);
e_book_clear_op (book, op);
g_object_unref (book);
+
return FALSE;
}
g_mutex_unlock (op->mutex);
}
else {
- op->book = book;
+ op->book = g_object_ref (book);
op->status = status;
op->idle_id = g_idle_add (emit_async_generic_response, op);
book->priv->pending_idles = g_list_prepend (book->priv->pending_idles,
GINT_TO_POINTER (op->idle_id));
e_book_clear_op (book, op);
+ g_object_unref (book);
+
return FALSE;
}
g_mutex_unlock (op->mutex);
}
else {
- op->book = book;
+ op->book = g_object_ref (book);
op->status = status;
op->idle_id = g_idle_add (emit_async_open_response, op);
book->priv->pending_idles = g_list_prepend (book->priv->pending_idles,
g_mutex_unlock (op->mutex);
}
else {
- op->book = book;
+ op->book = g_object_ref (book);
op->status = status;
op->idle_id = g_idle_add (emit_async_generic_response, op);
book->priv->pending_idles = g_list_prepend (book->priv->pending_idles,
for (l = factories; l; l = l->next) {
GNOME_Evolution_Addressbook_BookFactory factory = l->data;
CORBA_Environment ev;
-
+
CORBA_exception_init (&ev);
corba_book = GNOME_Evolution_Addressbook_BookFactory_getBook (factory, source_xml,
- bonobo_object_corba_objref (BONOBO_OBJECT (book->priv->listener)),
- &ev);
+ bonobo_object_corba_objref (BONOBO_OBJECT (book->priv->listener)),
+ &ev);
if (ev._major != CORBA_NO_EXCEPTION) {
CORBA_exception_free (&ev);