diff --git a/.cvsignore b/.cvsignore index 56a2402..23a5472 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -evolution-data-server-1.11.6.1.tar.bz2 +evolution-data-server-1.11.90.tar.bz2 diff --git a/evolution-data-server-1.10.0-code-cleanup.patch b/evolution-data-server-1.10.0-code-cleanup.patch index 5e7d903..3b8b838 100644 --- a/evolution-data-server-1.10.0-code-cleanup.patch +++ b/evolution-data-server-1.10.0-code-cleanup.patch @@ -261,14 +261,6 @@ SENDMAIL = @SENDMAIL@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ -@@ -332,7 +333,6 @@ THREADS_CFLAGS = @THREADS_CFLAGS@ - THREADS_LIBS = @THREADS_LIBS@ - USE_NLS = @USE_NLS@ - VERSION = @VERSION@ --WARN_CFLAGS = @WARN_CFLAGS@ - XGETTEXT = @XGETTEXT@ - YACC = @YACC@ - YFLAGS = @YFLAGS@ @@ -424,6 +424,7 @@ libedataserverui_1_2_la_SOURCES = \ e-passwords.c \ e-source-selector.c \ diff --git a/evolution-data-server-1.9.92-e-flag.patch b/evolution-data-server-1.9.92-e-flag.patch deleted file mode 100644 index 569a6c4..0000000 --- a/evolution-data-server-1.9.92-e-flag.patch +++ /dev/null @@ -1,1768 +0,0 @@ ---- evolution-data-server-1.11.6.1/addressbook/backends/file/e-book-backend-file.c.e-flag 2007-07-30 09:58:54.000000000 -0400 -+++ evolution-data-server-1.11.6.1/addressbook/backends/file/e-book-backend-file.c 2007-08-01 12:42:08.000000000 -0400 -@@ -43,6 +43,7 @@ - #include "libedataserver/e-dbhash.h" - #include "libedataserver/e-db3-utils.h" - #include "libedataserver/e-data-server-util.h" -+#include "libedataserver/e-flag.h" - - #include "libebook/e-contact.h" - -@@ -485,18 +486,15 @@ e_book_backend_file_get_contact_list (EB - - typedef struct { - EBookBackendFile *bf; -- GMutex *mutex; -- GCond *cond; - GThread *thread; -- gboolean stopped; -+ EFlag *running; - } FileBackendSearchClosure; - - static void - closure_destroy (FileBackendSearchClosure *closure) - { - d(printf ("destroying search closure\n")); -- g_mutex_free (closure->mutex); -- g_cond_free (closure->cond); -+ e_flag_free (closure->running); - g_free (closure); - } - -@@ -506,10 +504,8 @@ init_closure (EDataBookView *book_view, - FileBackendSearchClosure *closure = g_new (FileBackendSearchClosure, 1); - - closure->bf = bf; -- closure->mutex = g_mutex_new (); -- closure->cond = g_cond_new (); - closure->thread = NULL; -- closure->stopped = FALSE; -+ closure->running = e_flag_new (); - - g_object_set_data_full (G_OBJECT (book_view), "EBookBackendFile.BookView::closure", - closure, (GDestroyNotify)closure_destroy); -@@ -533,7 +529,7 @@ book_view_thread (gpointer data) - DB *db; - DBT id_dbt, vcard_dbt; - int db_error; -- gboolean stopped = FALSE, allcontacts; -+ gboolean allcontacts; - - g_return_val_if_fail (E_IS_DATA_BOOK_VIEW (data), NULL); - -@@ -563,9 +559,7 @@ book_view_thread (gpointer data) - } - - d(printf ("signalling parent thread\n")); -- g_mutex_lock (closure->mutex); -- g_cond_signal (closure->cond); -- g_mutex_unlock (closure->mutex); -+ e_flag_set (closure->running); - - if (e_book_backend_summary_is_summary_query (bf->priv->summary, query)) { - /* do a summary query */ -@@ -574,11 +568,8 @@ book_view_thread (gpointer data) - - for (i = 0; i < ids->len; i ++) { - char *id = g_ptr_array_index (ids, i); -- g_mutex_lock (closure->mutex); -- stopped = closure->stopped; -- g_mutex_unlock (closure->mutex); - -- if (stopped) -+ if (!e_flag_is_set (closure->running)) - break; - - string_to_dbt (id, &id_dbt); -@@ -612,11 +603,7 @@ book_view_thread (gpointer data) - db_error = dbc->c_get(dbc, &id_dbt, &vcard_dbt, DB_FIRST); - while (db_error == 0) { - -- g_mutex_lock (closure->mutex); -- stopped = closure->stopped; -- g_mutex_unlock (closure->mutex); -- -- if (stopped) -+ if (!e_flag_is_set (closure->running)) - break; - - /* don't include the version in the list of cards */ -@@ -647,7 +634,7 @@ book_view_thread (gpointer data) - - } - -- if (!stopped) -+ if (e_flag_is_set (closure->running)) - e_data_book_view_notify_complete (book_view, GNOME_Evolution_Addressbook_Success); - - /* unref the */ -@@ -665,15 +652,12 @@ e_book_backend_file_start_book_view (EBo - { - FileBackendSearchClosure *closure = init_closure (book_view, E_BOOK_BACKEND_FILE (backend)); - -- g_mutex_lock (closure->mutex); -- - d(printf ("starting book view thread\n")); - closure->thread = g_thread_create (book_view_thread, book_view, TRUE, NULL); - -- g_cond_wait (closure->cond, closure->mutex); -+ e_flag_wait (closure->running); - - /* at this point we know the book view thread is actually running */ -- g_mutex_unlock (closure->mutex); - d(printf ("returning from start_book_view\n")); - } - -@@ -682,14 +666,11 @@ e_book_backend_file_stop_book_view (EBoo - EDataBookView *book_view) - { - FileBackendSearchClosure *closure = get_closure (book_view); -- gboolean need_join = FALSE; -+ gboolean need_join; - - d(printf ("stopping query\n")); -- g_mutex_lock (closure->mutex); -- if (!closure->stopped) -- need_join = TRUE; -- closure->stopped = TRUE; -- g_mutex_unlock (closure->mutex); -+ need_join = e_flag_is_set (closure->running); -+ e_flag_clear (closure->running); - - if (need_join) - g_thread_join (closure->thread); ---- evolution-data-server-1.11.6.1/addressbook/backends/groupwise/e-book-backend-groupwise.c.e-flag 2007-07-30 09:58:55.000000000 -0400 -+++ evolution-data-server-1.11.6.1/addressbook/backends/groupwise/e-book-backend-groupwise.c 2007-08-01 12:42:08.000000000 -0400 -@@ -40,6 +40,7 @@ - #include "libedataserver/e-sexp.h" - #include "libedataserver/e-data-server-util.h" - #include "libedataserver/e-db3-utils.h" -+#include "libedataserver/e-flag.h" - #include "libedataserver/e-url.h" - #include "libebook/e-contact.h" - #include "libedata-book/e-book-backend-sexp.h" -@@ -2076,17 +2077,14 @@ e_book_backend_groupwise_get_contact_lis - - typedef struct { - EBookBackendGroupwise *bg; -- GMutex *mutex; -- GCond *cond; - GThread *thread; -- gboolean stopped; -+ EFlag *running; - } GroupwiseBackendSearchClosure; - - static void - closure_destroy (GroupwiseBackendSearchClosure *closure) - { -- g_mutex_free (closure->mutex); -- g_cond_free (closure->cond); -+ e_flag_free (closure->running); - g_free (closure); - } - -@@ -2096,10 +2094,8 @@ init_closure (EDataBookView *book_view, - GroupwiseBackendSearchClosure *closure = g_new (GroupwiseBackendSearchClosure, 1); - - closure->bg = bg; -- closure->mutex = g_mutex_new (); -- closure->cond = g_cond_new (); - closure->thread = NULL; -- closure->stopped = FALSE; -+ closure->running = e_flag_new (); - - g_object_set_data_full (G_OBJECT (book_view), "EBookBackendGroupwise.BookView::closure", - closure, (GDestroyNotify)closure_destroy); -@@ -2121,7 +2117,6 @@ get_contacts_from_cache (EBookBackendGro - GroupwiseBackendSearchClosure *closure) - { - int i; -- gboolean stopped = FALSE; - - if (enable_debug) - printf ("\nread contacts from cache for the ids found in summary\n"); -@@ -2129,12 +2124,8 @@ get_contacts_from_cache (EBookBackendGro - char *uid; - EContact *contact; - -- g_mutex_lock (closure->mutex); -- stopped = closure->stopped; -- g_mutex_unlock (closure->mutex); -- -- if (stopped) -- break; -+ if (!e_flag_is_set (closure->running)) -+ break; - - uid = g_ptr_array_index (ids, i); - contact = e_book_backend_db_cache_get_contact (ebgw->priv->file_db, uid); -@@ -2143,7 +2134,7 @@ get_contacts_from_cache (EBookBackendGro - g_object_unref (contact); - } - } -- if (!stopped) -+ if (e_flag_is_set (closure->running)) - e_data_book_view_notify_complete (book_view, - GNOME_Evolution_Addressbook_Success); - } -@@ -2158,7 +2149,6 @@ book_view_thread (gpointer data) - const char *query = NULL; - EGwFilter *filter = NULL; - GPtrArray *ids = NULL; -- gboolean stopped = FALSE; - EDataBookView *book_view = data; - GroupwiseBackendSearchClosure *closure = get_closure (book_view); - char *view = NULL; -@@ -2173,9 +2163,7 @@ book_view_thread (gpointer data) - if (enable_debug) - printf ("start book view for %s \n", gwb->priv->book_name); - bonobo_object_ref (book_view); -- g_mutex_lock (closure->mutex); -- g_cond_signal (closure->cond); -- g_mutex_unlock (closure->mutex); -+ e_flag_set (closure->running); - - query = e_data_book_view_get_card_query (book_view); - if (enable_debug) -@@ -2207,10 +2195,7 @@ book_view_thread (gpointer data) - contacts = e_book_backend_db_cache_get_contacts (gwb->priv->file_db, query); - temp_list = contacts; - for (; contacts != NULL; contacts = g_list_next(contacts)) { -- g_mutex_lock (closure->mutex); -- stopped = closure->stopped; -- g_mutex_unlock (closure->mutex); -- if (stopped) { -+ if (!e_flag_is_set (closure->running)) { - for (;contacts != NULL; contacts = g_list_next (contacts)) - g_object_unref (contacts->data); - break; -@@ -2218,7 +2203,7 @@ book_view_thread (gpointer data) - e_data_book_view_notify_update (book_view, E_CONTACT(contacts->data)); - g_object_unref (contacts->data); - } -- if (!stopped) -+ if (e_flag_is_set (closure->running)) - e_data_book_view_notify_complete (book_view, GNOME_Evolution_Addressbook_Success); - if (temp_list) - g_list_free (temp_list); -@@ -2346,10 +2331,7 @@ book_view_thread (gpointer data) - temp_list = gw_items; - for (; gw_items != NULL; gw_items = g_list_next(gw_items)) { - -- g_mutex_lock (closure->mutex); -- stopped = closure->stopped; -- g_mutex_unlock (closure->mutex); -- if (stopped) { -+ if (!e_flag_is_set (closure->running)) { - for (;gw_items != NULL; gw_items = g_list_next (gw_items)) - g_object_unref (gw_items->data); - break; -@@ -2370,7 +2352,7 @@ book_view_thread (gpointer data) - } - if (temp_list) - g_list_free (temp_list); -- if (!stopped) -+ if (e_flag_is_set (closure->running)) - e_data_book_view_notify_complete (book_view, GNOME_Evolution_Addressbook_Success); - if (filter) - g_object_unref (filter); -@@ -2399,12 +2381,10 @@ e_book_backend_groupwise_start_book_view - - if (enable_debug) - printf ("\ne_book_backend_groupwise_start_book_view...\n"); -- g_mutex_lock (closure->mutex); - closure->thread = g_thread_create (book_view_thread, book_view, FALSE, NULL); -- g_cond_wait (closure->cond, closure->mutex); -+ e_flag_wait (closure->running); - - /* at this point we know the book view thread is actually running */ -- g_mutex_unlock (closure->mutex); - } - - static void -@@ -2415,10 +2395,7 @@ e_book_backend_groupwise_stop_book_view - - if (enable_debug) - printf ("\ne_book_backend_groupwise_stop_book_view...\n"); -- g_mutex_lock (closure->mutex); -- if (!closure->stopped) -- closure->stopped = TRUE; -- g_mutex_unlock (closure->mutex); -+ e_flag_clear (closure->running); - } - - static void -@@ -2660,11 +2637,8 @@ build_cache (EBookBackendGroupwise *ebgw - if (book_view) { - closure = get_closure (book_view); - bonobo_object_ref (book_view); -- if (closure) { -- g_mutex_lock (closure->mutex); -- g_cond_signal (closure->cond); -- g_mutex_unlock (closure->mutex); -- } -+ if (closure) -+ e_flag_set (closure->running); - } - - while (!done) { -@@ -2809,11 +2783,8 @@ update_cache (EBookBackendGroupwise *ebg - if (book_view) { - closure = get_closure (book_view); - bonobo_object_ref (book_view); -- if (closure) { -- g_mutex_lock (closure->mutex); -- g_cond_signal (closure->cond); -- g_mutex_unlock (closure->mutex); -- } -+ if (closure) -+ e_flag_set (closure->running); - } - - cache_file_name = e_book_backend_db_cache_get_filename(ebgw->priv->file_db); -@@ -2980,11 +2951,8 @@ update_address_book_deltas (EBookBackend - if (book_view) { - closure = get_closure (book_view); - bonobo_object_ref (book_view); -- if (closure){ -- g_mutex_lock (closure->mutex); -- g_cond_signal (closure->cond); -- g_mutex_unlock (closure->mutex); -- } -+ if (closure) -+ e_flag_set (closure->running); - } - - /* update the cache */ ---- evolution-data-server-1.11.6.1/addressbook/backends/vcf/e-book-backend-vcf.c.e-flag 2007-07-30 09:58:55.000000000 -0400 -+++ evolution-data-server-1.11.6.1/addressbook/backends/vcf/e-book-backend-vcf.c 2007-08-01 12:42:08.000000000 -0400 -@@ -41,6 +41,7 @@ - #include - - #include "libedataserver/e-data-server-util.h" -+#include "libedataserver/e-flag.h" - - #include "libebook/e-contact.h" - -@@ -433,18 +434,15 @@ e_book_backend_vcf_get_contact_list (EBo - typedef struct { - EBookBackendVCF *bvcf; - EDataBookView *view; -- GMutex *mutex; -- GCond *cond; - GThread *thread; -- gboolean stopped; -+ EFlag *running; - } VCFBackendSearchClosure; - - static void - closure_destroy (VCFBackendSearchClosure *closure) - { - d(printf ("destroying search closure\n")); -- g_mutex_free (closure->mutex); -- g_cond_free (closure->cond); -+ e_flag_free (closure->running); - g_free (closure); - } - -@@ -455,10 +453,8 @@ init_closure (EDataBookView *book_view, - - closure->bvcf = bvcf; - closure->view = book_view; -- closure->mutex = g_mutex_new (); -- closure->cond = g_cond_new (); - closure->thread = NULL; -- closure->stopped = FALSE; -+ closure->running = e_flag_new (); - - g_object_set_data_full (G_OBJECT (book_view), "EBookBackendVCF.BookView::closure", - closure, (GDestroyNotify)closure_destroy); -@@ -492,9 +488,7 @@ book_view_thread (gpointer data) - e_data_book_view_notify_status_message (book_view, _("Searching...")); - - d(printf ("signalling parent thread\n")); -- g_mutex_lock (closure->mutex); -- g_cond_signal (closure->cond); -- g_mutex_unlock (closure->mutex); -+ e_flag_set (closure->running); - - for (l = closure->bvcf->priv->contact_list; l; l = l->next) { - char *vcard_string = l->data; -@@ -502,11 +496,11 @@ book_view_thread (gpointer data) - e_data_book_view_notify_update (closure->view, contact); - g_object_unref (contact); - -- if (closure->stopped) -+ if (!e_flag_is_set (closure->running)) - break; - } - -- if (!closure->stopped) -+ if (e_flag_is_set (closure->running)) - e_data_book_view_notify_complete (closure->view, GNOME_Evolution_Addressbook_Success); - - /* unref the book view */ -@@ -524,15 +518,12 @@ e_book_backend_vcf_start_book_view (EBoo - { - VCFBackendSearchClosure *closure = init_closure (book_view, E_BOOK_BACKEND_VCF (backend)); - -- g_mutex_lock (closure->mutex); -- - d(printf ("starting book view thread\n")); - closure->thread = g_thread_create (book_view_thread, book_view, TRUE, NULL); - -- g_cond_wait (closure->cond, closure->mutex); -+ e_flag_wait (closure->running); - - /* at this point we know the book view thread is actually running */ -- g_mutex_unlock (closure->mutex); - d(printf ("returning from start_book_view\n")); - - } -@@ -542,14 +533,11 @@ e_book_backend_vcf_stop_book_view (EBook - EDataBookView *book_view) - { - VCFBackendSearchClosure *closure = get_closure (book_view); -- gboolean need_join = FALSE; -+ gboolean need_join; - - d(printf ("stopping query\n")); -- g_mutex_lock (closure->mutex); -- if (!closure->stopped) -- need_join = TRUE; -- closure->stopped = TRUE; -- g_mutex_unlock (closure->mutex); -+ need_join = e_flag_is_set (closure->running); -+ e_flag_clear (closure->running); - - if (need_join) - g_thread_join (closure->thread); ---- evolution-data-server-1.11.6.1/calendar/libecal/e-cal.c.e-flag 2007-07-31 16:14:54.000000000 -0400 -+++ evolution-data-server-1.11.6.1/calendar/libecal/e-cal.c 2007-08-01 12:42:53.000000000 -0400 -@@ -33,6 +33,7 @@ - #include - - #include "libedataserver/e-component-listener.h" -+#include "libedataserver/e-flag.h" - #include "libedataserver/e-url.h" - #include "e-cal-marshal.h" - #include "e-cal-time-util.h" -@@ -50,8 +51,7 @@ get_read_only (ECal *ecal, gboolean *rea - - - typedef struct { -- GMutex *mutex; -- GCond *cond; -+ EFlag *done; - ECalendarStatus status; - - char *uid; -@@ -304,8 +304,7 @@ e_calendar_new_op (ECal *ecal) - { - ECalendarOp *op = g_new0 (ECalendarOp, 1); - -- op->mutex = g_mutex_new (); -- op->cond = g_cond_new (); -+ op->done = e_flag_new (); - - ecal->priv->current_op = op; - -@@ -327,8 +326,7 @@ static void - e_calendar_free_op (ECalendarOp *op) - { - /* XXX more stuff here */ -- g_cond_free (op->cond); -- g_mutex_free (op->mutex); -+ e_flag_free (op->done); - g_free (op); - } - -@@ -446,14 +444,10 @@ cal_read_only_cb (ECalListener *listener - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->bool = read_only; - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -475,14 +469,10 @@ cal_cal_address_cb (ECalListener *listen - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->string = g_strdup (address); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -498,14 +488,10 @@ cal_alarm_address_cb (ECalListener *list - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->string = g_strdup (address); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -521,14 +507,10 @@ cal_ldap_attribute_cb (ECalListener *lis - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->string = g_strdup (attribute); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -544,14 +526,10 @@ cal_static_capabilities_cb (ECalListener - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->string = g_strdup (capabilities); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -567,13 +545,9 @@ cal_opened_cb (ECalListener *listener, E - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -589,13 +563,9 @@ cal_removed_cb (ECalListener *listener, - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -611,14 +581,10 @@ cal_object_created_cb (ECalListener *lis - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->uid = g_strdup (uid); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -634,13 +600,9 @@ cal_object_modified_cb (ECalListener *li - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -656,13 +618,9 @@ cal_object_removed_cb (ECalListener *lis - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -678,13 +636,9 @@ cal_alarm_discarded_cb (ECalListener *li - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -700,13 +654,9 @@ cal_objects_received_cb (ECalListener *l - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -723,8 +673,6 @@ cal_objects_sent_cb (ECalListener *liste - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->list = g_list_copy (users); - op->string = g_strdup (object); -@@ -732,9 +680,7 @@ cal_objects_sent_cb (ECalListener *liste - for (l = op->list; l; l = l->next) - l->data = g_strdup (l->data); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -750,14 +696,10 @@ cal_default_object_requested_cb (ECalLis - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->string = g_strdup (object); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -773,14 +715,10 @@ cal_object_requested_cb (ECalListener *l - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->string = g_strdup (object); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -797,17 +735,13 @@ cal_object_list_cb (ECalListener *listen - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->list = g_list_copy (objects); - - for (l = op->list; l; l = l->next) - l->data = icalcomponent_new_clone (l->data); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -823,14 +757,10 @@ cal_attachment_list_cb (ECalListener *li - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->slist = g_slist_copy (attachments); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -846,15 +776,10 @@ cal_get_timezone_cb (ECalListener *liste - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->string = g_strdup (object); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -- -+ e_flag_set (op->done); - } - - static void -@@ -870,15 +795,10 @@ cal_add_timezone_cb (ECalListener *liste - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->uid = g_strdup (tzid); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -- -+ e_flag_set (op->done); - } - - static void -@@ -894,13 +814,9 @@ cal_set_default_timezone_cb (ECalListene - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -917,8 +833,6 @@ cal_get_changes_cb (ECalListener *listen - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->list = g_list_copy (changes); - -@@ -932,9 +846,7 @@ cal_get_changes_cb (ECalListener *listen - l->data = new_ccc; - } - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -951,17 +863,13 @@ cal_get_free_busy_cb (ECalListener *list - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->list = g_list_copy (freebusy); - - for (l = op->list; l; l = l->next) - l->data = e_cal_component_clone (l->data); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static void -@@ -977,14 +885,10 @@ cal_query_cb (ECalListener *listener, EC - return; - } - -- g_mutex_lock (op->mutex); -- - op->status = status; - op->query = e_cal_view_new (query, op->listener, ecal); - -- g_cond_signal (op->cond); -- -- g_mutex_unlock (op->mutex); -+ e_flag_set (op->done); - } - - static gboolean -@@ -1724,7 +1628,6 @@ open_calendar (ECal *ecal, gboolean only - } - /* start the open operation */ - our_op = e_calendar_new_op (ecal); -- g_mutex_lock (our_op->mutex); - - g_mutex_unlock (priv->mutex); - -@@ -1737,7 +1640,6 @@ open_calendar (ECal *ecal, gboolean only - - if (priv->auth_func == NULL) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - priv->load_state = E_CAL_LOAD_NOT_LOADED; - *status = E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED; -@@ -1747,7 +1649,6 @@ open_calendar (ECal *ecal, gboolean only - username = e_source_get_duped_property (priv->source, "username"); - if (!username) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - priv->load_state = E_CAL_LOAD_NOT_LOADED; - *status = E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED; -@@ -1777,7 +1678,6 @@ open_calendar (ECal *ecal, gboolean only - - if (!key) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - priv->load_state = E_CAL_LOAD_NOT_LOADED; - *status = E_CALENDAR_STATUS_URI_NOT_LOADED; -@@ -1788,7 +1688,6 @@ open_calendar (ECal *ecal, gboolean only - - if (!password) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - priv->load_state = E_CAL_LOAD_NOT_LOADED; - *status = E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED; -@@ -1813,7 +1712,6 @@ open_calendar (ECal *ecal, gboolean only - - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -1827,14 +1725,11 @@ open_calendar (ECal *ecal, gboolean only - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - *status = our_op->status; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - if (*status == E_CALENDAR_STATUS_OK) { - priv->load_state = E_CAL_LOAD_LOADED; -@@ -1990,8 +1885,6 @@ e_cal_remove (ECal *ecal, GError **error - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - -@@ -2000,7 +1893,6 @@ e_cal_remove (ECal *ecal, GError **error - GNOME_Evolution_Calendar_Cal_remove (priv->cal, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -2012,14 +1904,11 @@ e_cal_remove (ECal *ecal, GError **error - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -2251,8 +2140,6 @@ get_read_only (ECal *ecal, gboolean *rea - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - /* set it to true so that op does not emit cond signals for all notifications - from the backend */ - our_op->bool = TRUE; -@@ -2265,7 +2152,6 @@ get_read_only (ECal *ecal, gboolean *rea - GNOME_Evolution_Calendar_Cal_isReadOnly (priv->cal, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -2277,9 +2163,7 @@ get_read_only (ECal *ecal, gboolean *rea - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - -@@ -2287,7 +2171,6 @@ get_read_only (ECal *ecal, gboolean *rea - *read_only = our_op->bool; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - E_CALENDAR_CHECK_STATUS (status, error); - } -@@ -2330,8 +2213,6 @@ e_cal_get_cal_address (ECal *ecal, char - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - -@@ -2340,7 +2221,6 @@ e_cal_get_cal_address (ECal *ecal, char - GNOME_Evolution_Calendar_Cal_getCalAddress (priv->cal, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -2352,14 +2232,11 @@ e_cal_get_cal_address (ECal *ecal, char - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - *cal_address = our_op->string; - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -2407,8 +2284,6 @@ e_cal_get_alarm_email_address (ECal *eca - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - -@@ -2417,7 +2292,6 @@ e_cal_get_alarm_email_address (ECal *eca - GNOME_Evolution_Calendar_Cal_getAlarmEmailAddress (priv->cal, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -2429,15 +2303,12 @@ e_cal_get_alarm_email_address (ECal *eca - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - *alarm_address = our_op->string; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -2480,8 +2351,6 @@ e_cal_get_ldap_attribute (ECal *ecal, ch - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - -@@ -2490,7 +2359,6 @@ e_cal_get_ldap_attribute (ECal *ecal, ch - GNOME_Evolution_Calendar_Cal_getLdapAttribute (priv->cal, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -2502,15 +2370,12 @@ e_cal_get_ldap_attribute (ECal *ecal, ch - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - *ldap_attribute = our_op->string; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -2543,8 +2408,6 @@ load_static_capabilities (ECal *ecal, GE - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - -@@ -2553,7 +2416,6 @@ load_static_capabilities (ECal *ecal, GE - GNOME_Evolution_Calendar_Cal_getStaticCapabilities (priv->cal, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -2565,15 +2427,12 @@ load_static_capabilities (ECal *ecal, GE - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - priv->capabilities = our_op->string; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -2782,8 +2641,6 @@ e_cal_get_default_object (ECal *ecal, ic - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - CORBA_exception_init (&ev); -@@ -2791,7 +2648,6 @@ e_cal_get_default_object (ECal *ecal, ic - GNOME_Evolution_Calendar_Cal_getDefaultObject (priv->cal, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -2803,9 +2659,7 @@ e_cal_get_default_object (ECal *ecal, ic - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - if (status != E_CALENDAR_STATUS_OK) { -@@ -2818,7 +2672,6 @@ e_cal_get_default_object (ECal *ecal, ic - g_free (our_op->string); - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -2863,15 +2716,12 @@ e_cal_get_attachments_for_comp (ECal *ec - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - CORBA_exception_init (&ev); - GNOME_Evolution_Calendar_Cal_getAttachmentList (priv->cal, uid, rid ? rid : "", &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -2883,9 +2733,7 @@ e_cal_get_attachments_for_comp (ECal *ec - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - if (status != E_CALENDAR_STATUS_OK){ -@@ -2895,7 +2743,6 @@ e_cal_get_attachments_for_comp (ECal *ec - } - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -2940,8 +2787,6 @@ e_cal_get_object (ECal *ecal, const char - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - CORBA_exception_init (&ev); -@@ -2949,7 +2794,6 @@ e_cal_get_object (ECal *ecal, const char - GNOME_Evolution_Calendar_Cal_getObject (priv->cal, uid, rid ? rid : "", &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -2961,9 +2805,7 @@ e_cal_get_object (ECal *ecal, const char - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - if (status != E_CALENDAR_STATUS_OK){ -@@ -3011,7 +2853,6 @@ e_cal_get_object (ECal *ecal, const char - g_free (our_op->string); - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -3057,8 +2898,6 @@ e_cal_get_objects_for_uid (ECal *ecal, c - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - CORBA_exception_init (&ev); -@@ -3066,7 +2905,6 @@ e_cal_get_objects_for_uid (ECal *ecal, c - GNOME_Evolution_Calendar_Cal_getObject (priv->cal, uid, "", &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -3078,9 +2916,7 @@ e_cal_get_objects_for_uid (ECal *ecal, c - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - if (status != E_CALENDAR_STATUS_OK){ -@@ -3138,7 +2974,6 @@ e_cal_get_objects_for_uid (ECal *ecal, c - g_free (our_op->string); - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -3208,8 +3043,6 @@ e_cal_get_changes (ECal *ecal, const cha - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - CORBA_exception_init (&ev); -@@ -3218,7 +3051,6 @@ e_cal_get_changes (ECal *ecal, const cha - - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -3230,15 +3062,12 @@ e_cal_get_changes (ECal *ecal, const cha - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - *changes = our_op->list; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -3308,8 +3137,6 @@ e_cal_get_object_list (ECal *ecal, const - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - CORBA_exception_init (&ev); -@@ -3318,7 +3145,6 @@ e_cal_get_object_list (ECal *ecal, const - - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -3330,15 +3156,12 @@ e_cal_get_object_list (ECal *ecal, const - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - *objects = our_op->list; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -3441,8 +3264,6 @@ e_cal_get_free_busy (ECal *ecal, GList * - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - /* create the CORBA user list to be passed to the backend */ -@@ -3462,7 +3283,6 @@ e_cal_get_free_busy (ECal *ecal, GList * - - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -3474,15 +3294,12 @@ e_cal_get_free_busy (ECal *ecal, GList * - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - *freebusy = our_op->list; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -4176,8 +3993,6 @@ e_cal_discard_alarm (ECal *ecal, ECalCom - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - e_cal_component_get_uid (comp, &uid); -@@ -4187,7 +4002,6 @@ e_cal_discard_alarm (ECal *ecal, ECalCom - GNOME_Evolution_Calendar_Cal_discardAlarm (priv->cal, uid, auid, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -4199,14 +4013,11 @@ e_cal_discard_alarm (ECal *ecal, ECalCom - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -4422,8 +4233,6 @@ e_cal_create_object (ECal *ecal, icalcom - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - CORBA_exception_init (&ev); -@@ -4431,7 +4240,6 @@ e_cal_create_object (ECal *ecal, icalcom - GNOME_Evolution_Calendar_Cal_createObject (priv->cal, icalcomponent_as_ical_string (icalcomp), &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -4443,9 +4251,7 @@ e_cal_create_object (ECal *ecal, icalcom - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - if (uid) -@@ -4455,7 +4261,6 @@ e_cal_create_object (ECal *ecal, icalcom - } - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -4505,8 +4310,6 @@ e_cal_modify_object (ECal *ecal, icalcom - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - CORBA_exception_init (&ev); -@@ -4514,7 +4317,6 @@ e_cal_modify_object (ECal *ecal, icalcom - GNOME_Evolution_Calendar_Cal_modifyObject (priv->cal, icalcomponent_as_ical_string (icalcomp), mod, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -4526,14 +4328,11 @@ e_cal_modify_object (ECal *ecal, icalcom - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -4586,8 +4385,6 @@ e_cal_remove_object_with_mod (ECal *ecal - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - -@@ -4596,7 +4393,6 @@ e_cal_remove_object_with_mod (ECal *ecal - GNOME_Evolution_Calendar_Cal_removeObject (priv->cal, uid, rid ? rid : "", mod, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -4608,14 +4404,11 @@ e_cal_remove_object_with_mod (ECal *ecal - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -4680,8 +4473,6 @@ e_cal_receive_objects (ECal *ecal, icalc - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - CORBA_exception_init (&ev); -@@ -4689,7 +4480,6 @@ e_cal_receive_objects (ECal *ecal, icalc - GNOME_Evolution_Calendar_Cal_receiveObjects (priv->cal, icalcomponent_as_ical_string (icalcomp), &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -4701,14 +4491,11 @@ e_cal_receive_objects (ECal *ecal, icalc - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -4754,8 +4541,6 @@ e_cal_send_objects (ECal *ecal, icalcomp - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - CORBA_exception_init (&ev); -@@ -4763,7 +4548,6 @@ e_cal_send_objects (ECal *ecal, icalcomp - GNOME_Evolution_Calendar_Cal_sendObjects (priv->cal, icalcomponent_as_ical_string (icalcomp), &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -4775,9 +4559,7 @@ e_cal_send_objects (ECal *ecal, icalcomp - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - *users = our_op->list; -@@ -4798,7 +4580,6 @@ e_cal_send_objects (ECal *ecal, icalcomp - g_free (our_op->string); - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -4843,8 +4624,6 @@ e_cal_get_timezone (ECal *ecal, const ch - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (priv->mutex); - - /* Check for well known zones and in the cache */ -@@ -4853,7 +4632,6 @@ e_cal_get_timezone (ECal *ecal, const ch - /* If tzid is NULL or "" we return NULL, since it is a 'local time'. */ - if (!tzid || !tzid[0]) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - *zone = NULL; -@@ -4871,7 +4649,6 @@ e_cal_get_timezone (ECal *ecal, const ch - - if (*zone) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_OK, error); -@@ -4883,7 +4660,6 @@ e_cal_get_timezone (ECal *ecal, const ch - GNOME_Evolution_Calendar_Cal_getTimezone (priv->cal, tzid, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -4895,9 +4671,7 @@ e_cal_get_timezone (ECal *ecal, const ch - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - if (status != E_CALENDAR_STATUS_OK){ -@@ -4911,7 +4685,6 @@ e_cal_get_timezone (ECal *ecal, const ch - - if (!icalcomp) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -4922,7 +4695,6 @@ e_cal_get_timezone (ECal *ecal, const ch - icaltimezone_free (*zone, 1); - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_OBJECT_NOT_FOUND, error); -@@ -4932,7 +4704,6 @@ e_cal_get_timezone (ECal *ecal, const ch - g_hash_table_insert (priv->timezones, icaltimezone_get_tzid (*zone), *zone); - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -4977,15 +4748,12 @@ e_cal_add_timezone (ECal *ecal, icaltime - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (priv->mutex); - - /* Make sure we have a valid component - UTC doesn't, nor do - * we really have to add it */ - if (izone == icaltimezone_get_utc_timezone ()) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_OK, error); -@@ -4994,7 +4762,6 @@ e_cal_add_timezone (ECal *ecal, icaltime - icalcomp = icaltimezone_get_component (izone); - if (!icalcomp) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_INVALID_ARG, error); -@@ -5009,7 +4776,6 @@ e_cal_add_timezone (ECal *ecal, icaltime - GNOME_Evolution_Calendar_Cal_addTimezone (priv->cal, tzobj, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -5021,14 +4787,11 @@ e_cal_add_timezone (ECal *ecal, icaltime - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -5070,8 +4833,6 @@ e_cal_get_query (ECal *ecal, const char - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (ecal->priv->mutex); - - CORBA_exception_init (&ev); -@@ -5081,7 +4842,6 @@ e_cal_get_query (ECal *ecal, const char - - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -5093,9 +4853,7 @@ e_cal_get_query (ECal *ecal, const char - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - *query = our_op->query; -@@ -5103,7 +4861,6 @@ e_cal_get_query (ECal *ecal, const char - bonobo_object_unref (BONOBO_OBJECT (our_op->listener)); - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); -@@ -5148,15 +4905,12 @@ e_cal_set_default_timezone (ECal *ecal, - - our_op = e_calendar_new_op (ecal); - -- g_mutex_lock (our_op->mutex); -- - g_mutex_unlock (priv->mutex); - - /* FIXME Adding it to the server to change the tzid */ - icalcomp = icaltimezone_get_component (zone); - if (!icalcomp) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_INVALID_ARG, error); -@@ -5171,7 +4925,6 @@ e_cal_set_default_timezone (ECal *ecal, - GNOME_Evolution_Calendar_Cal_setDefaultTimezone (priv->cal, tzobj, &ev); - if (BONOBO_EX (&ev)) { - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - CORBA_exception_free (&ev); -@@ -5183,9 +4936,7 @@ e_cal_set_default_timezone (ECal *ecal, - - CORBA_exception_free (&ev); - -- /* wait for something to happen (both cancellation and a -- successful response will notity us via our cv */ -- g_cond_wait (our_op->cond, our_op->mutex); -+ e_flag_wait (our_op->done); - - status = our_op->status; - -@@ -5197,7 +4948,6 @@ e_cal_set_default_timezone (ECal *ecal, - } - - e_calendar_remove_op (ecal, our_op); -- g_mutex_unlock (our_op->mutex); - e_calendar_free_op (our_op); - - E_CALENDAR_CHECK_STATUS (status, error); diff --git a/evolution-data-server-1.9.92-e-passwords.patch b/evolution-data-server-1.9.92-e-passwords.patch index 625097f..e9177eb 100644 --- a/evolution-data-server-1.9.92-e-passwords.patch +++ b/evolution-data-server-1.9.92-e-passwords.patch @@ -1,5 +1,5 @@ ---- evolution-data-server-1.11.4/libedataserverui/e-passwords.h.e-passwords 2007-04-18 06:10:16.000000000 -0400 -+++ evolution-data-server-1.11.4/libedataserverui/e-passwords.h 2007-06-18 16:19:44.000000000 -0400 +--- evolution-data-server-1.11.90/libedataserverui/e-passwords.h.e-passwords 2007-07-05 02:01:52.000000000 -0400 ++++ evolution-data-server-1.11.90/libedataserverui/e-passwords.h 2007-08-13 16:52:07.000000000 -0400 @@ -28,45 +28,65 @@ G_BEGIN_DECLS @@ -97,8 +97,8 @@ G_END_DECLS ---- evolution-data-server-1.11.4/libedataserverui/e-passwords.c.e-passwords 2007-06-17 23:25:35.000000000 -0400 -+++ evolution-data-server-1.11.4/libedataserverui/e-passwords.c 2007-06-18 16:26:02.000000000 -0400 +--- evolution-data-server-1.11.90/libedataserverui/e-passwords.c.e-passwords 2007-08-12 23:59:40.000000000 -0400 ++++ evolution-data-server-1.11.90/libedataserverui/e-passwords.c 2007-08-13 16:52:07.000000000 -0400 @@ -23,18 +23,29 @@ */ @@ -240,7 +240,7 @@ +static void ep_msg_dispatch (EPassMsg *msg); -static GHashTable *passwords = NULL; --static GtkDialog *password_dialog; +-static GtkDialog *password_dialog = NULL; -static EDList request_list = E_DLIST_INITIALISER(request_list); -static int idle_id; -static int ep_online_state = TRUE; @@ -285,7 +285,8 @@ +{ + return g_strconcat (KEY_FILE_GROUP_PREFIX, component, NULL); +} -+ + +- LOCK(); +static gchar * +ep_key_file_normalize_key (const gchar *key) +{ @@ -312,8 +313,7 @@ + GError *error = NULL; + + filename = ep_key_file_get_filename (); - -- LOCK(); ++ + if (!g_file_test (filename, G_FILE_TEST_EXISTS)) + goto exit; + @@ -379,11 +379,17 @@ + + gchar *password; + gsize length; -+ + +- e_passwords_init(); + password = (gchar *) g_base64_decode (encoded_password, &length); + password = g_realloc (password, length + 1); + password[length] = '\0'; -+ + +- msg = g_malloc0(sizeof(*msg)); +- msg->dispatch = dispatch; +- msg->msg.reply_port = e_msgport_new(); +-#ifdef ENABLE_THREADS +- msg->ismain = pthread_equal(pthread_self(), main_thread); + return password; +} + @@ -397,15 +403,9 @@ + + password_cache = g_hash_table_new_full ( + g_str_hash, g_str_equal, g_free, g_free); - -- e_passwords_init(); ++ + express_queue = g_async_queue_new (); - -- msg = g_malloc0(sizeof(*msg)); -- msg->dispatch = dispatch; -- msg->msg.reply_port = e_msgport_new(); --#ifdef ENABLE_THREADS -- msg->ismain = pthread_equal(pthread_self(), main_thread); ++ +#ifdef WITH_GNOME_KEYRING + if (!gnome_keyring_is_available ()) { + key_file = g_key_file_new (); @@ -439,7 +439,10 @@ static void -ep_msg_free(EPassMsg *msg) +ep_msg_dispatch (EPassMsg *msg) -+{ + { +- e_msgport_destroy(msg->msg.reply_port); +- g_free(msg->password); +- g_free(msg); + msg->callback (msg); + e_flag_set (msg->done); +} @@ -457,14 +460,13 @@ + g_async_queue_unlock (express_queue); + + return success; -+} -+ -+static void + } + + static void +-ep_msg_send(EPassMsg *msg) +ep_msg_send (EPassMsg *msg) { -- e_msgport_destroy(msg->msg.reply_port); -- g_free(msg->password); -- g_free(msg); +- int needidle = 0; + GMainContext *context; + + context = g_main_context_default (); @@ -474,20 +476,23 @@ + + if (!(msg->expedite && ep_msg_expedite (msg))) + g_thread_pool_push (dispatcher, msg, NULL); -+ + +- LOCK(); +- e_dlist_addtail(&request_list, (EDListNode *)&msg->msg); +- if (!idle_id) { +- if (!msg->ismain) +- idle_id = g_idle_add(ep_idle_dispatch, NULL); + /* Don't block the main loop. */ + if (g_main_context_is_owner (context)) + while (!e_flag_is_set (msg->done)) + g_main_context_iteration (context, TRUE); + else + e_flag_wait (msg->done); - } - - static void --ep_msg_send(EPassMsg *msg) ++} ++ ++static void +ep_msg_free (EPassMsg *msg) - { -- int needidle = 0; ++{ + e_flag_free (msg->done); + g_slice_free (EPassMsg, msg); +} @@ -516,12 +521,7 @@ + e_flag_free (data->done); + g_slice_free (EPassDialogData, data); +} - -- LOCK(); -- e_dlist_addtail(&request_list, (EDListNode *)&msg->msg); -- if (!idle_id) { -- if (!msg->ismain) -- idle_id = g_idle_add(ep_idle_dispatch, NULL); ++ +static gboolean +ep_dialog_run (EPassMsg *msg) +{ @@ -991,7 +991,7 @@ } else { EUri *uri = e_uri_new (msg->key); -@@ -681,284 +902,154 @@ ep_get_password_keyring (EPassMsg *msg) +@@ -683,288 +904,154 @@ ep_get_password_keyring (EPassMsg *msg) e_uri_free (uri); } @@ -1081,18 +1081,16 @@ - int type = msg->flags & E_PASSWORDS_REMEMBER_MASK; - EDList pending = E_DLIST_INITIALISER(pending); - EPassMsg *mw, *mn; -- -- if (response == GTK_RESPONSE_OK) { -- msg->password = g_strdup(gtk_entry_get_text((GtkEntry *)msg->entry)); + gchar *key = g_strdup (msg->key); + gchar *password = g_strdup (msg->password); -- if (type != E_PASSWORDS_REMEMBER_NEVER) { -- int noreply = msg->noreply; +- if (response == GTK_RESPONSE_OK) { +- msg->password = g_strdup(gtk_entry_get_text((GtkEntry *)msg->entry)); + g_hash_table_insert (password_cache, key, password); +} -- *msg->remember = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (msg->check)); +- if (type != E_PASSWORDS_REMEMBER_NEVER) { +- int noreply = msg->noreply; +static void +ep_ask_password (EPassMsg *msg) +{ @@ -1100,7 +1098,7 @@ + gchar *password; + gint remember; -- msg->noreply = 1; +- *msg->remember = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (msg->check)); + /* Open the express queue for this key. This allows us to catch + * incoming operations on this key while waiting for the user to + * provide a password. Once we have the password, immediately @@ -1109,6 +1107,10 @@ + express_key = msg->key; + g_async_queue_unlock (express_queue); +- msg->noreply = 1; ++ if (data->flags & E_PASSWORDS_REPROMPT) ++ ep_get_password (msg); + - if (*msg->remember || type == E_PASSWORDS_REMEMBER_FOREVER) { - msg->oldpass = msg->password; - ep_add_password(msg); @@ -1124,20 +1126,18 @@ - if (*msg->remember && type == E_PASSWORDS_REMEMBER_FOREVER) - ep_remember_password_file(msg); -#endif -+ if (data->flags & E_PASSWORDS_REPROMPT) -+ ep_get_password (msg); ++ /* Run the password dialog in the main thread. */ ++ g_idle_add ((GSourceFunc) ep_dialog_run, msg); - msg->noreply = noreply; - } - } -+ /* Run the password dialog in the main thread. */ -+ g_idle_add ((GSourceFunc) ep_dialog_run, msg); - -- gtk_widget_destroy((GtkWidget *)dialog); -- password_dialog = NULL; + /* Wait for the user to respond. */ + e_flag_wait (data->done); +- gtk_widget_destroy((GtkWidget *)dialog); +- password_dialog = NULL; +- - /* ok, here things get interesting, we suck up any pending - * operations on this specific password, and return the same - * result or ignore other operations */ @@ -1179,10 +1179,10 @@ - - if (!msg->noreply) - e_msgport_reply(&msg->msg); - +- - ep_idle_dispatch(NULL); -} -- + -static void -ep_ask_password(EPassMsg *msg) -{ @@ -1277,7 +1277,11 @@ - msg->noreply = noreply; - - g_signal_connect(password_dialog, "response", G_CALLBACK (pass_response), msg); -- gtk_widget_show((GtkWidget *)password_dialog); +- +- if (msg->parent) +- gtk_dialog_run (GTK_DIALOG (password_dialog)); +- else +- gtk_widget_show((GtkWidget *)password_dialog); + g_free (password); } @@ -1365,7 +1369,7 @@ * * Set the offline-state of the application. This is a work-around * for having the backends fully offline aware, and returns a -@@ -967,10 +1058,11 @@ e_passwords_shutdown (void) +@@ -973,10 +1060,11 @@ e_passwords_shutdown (void) * FIXME: This is not a permanent api, review post 2.0. **/ void @@ -1380,7 +1384,7 @@ } /** -@@ -981,151 +1073,138 @@ e_passwords_set_online(int state) +@@ -987,151 +1075,138 @@ e_passwords_set_online(int state) void e_passwords_forget_passwords (void) { @@ -1416,15 +1420,15 @@ - EPassMsg *msg = ep_msg_new(ep_clear_passwords_file); -#endif + EPassMsg *msg; - -- msg->component = component_name; -- ep_msg_send(msg); -- ep_msg_free(msg); ++ + g_return_if_fail (component != NULL); + + msg = ep_msg_new (ep_clear_passwords, FALSE); + msg->component = component; -+ + +- msg->component = component_name; +- ep_msg_send(msg); +- ep_msg_free(msg); + ep_msg_send (msg); + ep_msg_free (msg); } @@ -1511,19 +1515,19 @@ { EPassMsg *msg; - char *passwd; -+ char *password; - +- - g_return_val_if_fail(component_name != NULL, NULL); - g_return_val_if_fail(key != NULL, NULL); -+ g_return_val_if_fail (component != NULL, NULL); -+ g_return_val_if_fail (key != NULL, NULL); ++ char *password; -#ifdef WITH_GNOME_KEYRING - msg = ep_msg_new(gnome_keyring_is_available() ? ep_get_password_keyring : ep_get_password_file); -#else - msg = ep_msg_new(ep_get_password_file); -#endif -- ++ g_return_val_if_fail (component != NULL, NULL); ++ g_return_val_if_fail (key != NULL, NULL); + - msg->component = component_name; + msg = ep_msg_new (ep_get_password, TRUE); + msg->component = component; @@ -1586,7 +1590,7 @@ * @prompt: prompt string * @type: whether or not to offer to remember the password, * and for how long. -@@ -1140,241 +1219,44 @@ e_passwords_add_password (const char *ke +@@ -1146,241 +1221,44 @@ e_passwords_add_password (const char *ke * return value is non-%NULL and @remember_type is not * E_PASSWORDS_DO_NOT_REMEMBER. **/ @@ -1668,9 +1672,7 @@ - - if (inlen>0) - outptr += base64_encode_step(in, inlen, break_lines, outptr, state, save); -+ remember = (p_remember != NULL) ? *p_remember : FALSE; -+ data = ep_dialog_data_new (parent, title, prompt, remember, type); - +- - c1 = ((unsigned char *)save)[1]; - c2 = ((unsigned char *)save)[2]; - @@ -1690,21 +1692,13 @@ - } - if (break_lines) - *outptr++ = '\n'; -+ msg = ep_msg_new (ep_ask_password, TRUE); -+ msg->component = component; -+ msg->key = (key != NULL) ? key : ""; -+ msg->data = data; - +- - *save = 0; - *state = 0; - - return outptr-out; -} -+ ep_msg_send (msg); -+ password = msg->password; -+ remember = data->remember; -+ ep_msg_free (msg); - +- -/* - performs an 'encode step', only encodes blocks of 3 characters to the - output at a time, saves left-over state in state and save (initialise to @@ -1770,13 +1764,20 @@ - } - ((char *)save)[0]+=len; - } -- ++ remember = (p_remember != NULL) ? *p_remember : FALSE; ++ data = ep_dialog_data_new (parent, title, prompt, remember, type); + - return outptr-out; -} -+ ep_dialog_data_free (data); ++ msg = ep_msg_new (ep_ask_password, TRUE); ++ msg->component = component; ++ msg->key = (key != NULL) ? key : ""; ++ msg->data = data; -+ if (p_remember != NULL) -+ *p_remember = remember; ++ ep_msg_send (msg); ++ password = msg->password; ++ remember = data->remember; ++ ep_msg_free (msg); -/** - * base64_decode_step: decode a chunk of base64 encoded data @@ -1816,10 +1817,13 @@ - } - } - } -- ++ ep_dialog_data_free (data); + - *save = v; - *state = i; -- ++ if (p_remember != NULL) ++ *p_remember = remember; + - /* quick scan back for '=' on the end somewhere */ - /* fortunately we can drop 1 output char for each trailing = (upto 2) */ - i=2; @@ -1856,8 +1860,8 @@ - return (char *)plain; + return password; } ---- evolution-data-server-1.11.4/libedataserver/e-msgport.h.e-passwords 2007-04-18 06:10:18.000000000 -0400 -+++ evolution-data-server-1.11.4/libedataserver/e-msgport.h 2007-06-18 16:19:44.000000000 -0400 +--- evolution-data-server-1.11.90/libedataserver/e-msgport.h.e-passwords 2007-07-05 02:01:55.000000000 -0400 ++++ evolution-data-server-1.11.90/libedataserver/e-msgport.h 2007-08-13 16:52:07.000000000 -0400 @@ -54,7 +54,7 @@ typedef struct _EMsgPort EMsgPort; /* header for any message */ diff --git a/evolution-data-server.spec b/evolution-data-server.spec index 20f0541..597e6f6 100644 --- a/evolution-data-server.spec +++ b/evolution-data-server.spec @@ -25,7 +25,7 @@ ### Abstract ### Name: evolution-data-server -Version: 1.11.6.1 +Version: 1.11.90 Release: 1%{?dist} License: LGPL Group: System Environment/Libraries @@ -48,9 +48,6 @@ Patch12: evolution-data-server-1.7.91-maybe-fix-crash.patch # GNOME bug #363695 Patch14: evolution-data-server-1.9.1-kill-ememory.patch -# GNOME bug #415891 -Patch15: evolution-data-server-1.9.92-e-flag.patch - # GNOME bug #376991 Patch16: evolution-data-server-1.9.92-e-passwords.patch @@ -149,7 +146,6 @@ evolution-data-server. %patch11 -p1 -b .no-gnome-common %patch12 -p1 -b .maybe-fix-crash %patch14 -p1 -b .kill-ememory -%patch15 -p1 -b .e-flag %patch16 -p1 -b .e-passwords %patch18 -p1 -b .code-cleanup %patch19 -p1 -b .camel-folder-symmary-crash @@ -388,6 +384,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/pkgconfig/libexchange-storage-%{eds_api_version}.pc %changelog +* Mon Aug 13 2007 Matthew Barnes - 1.11.90-1.fc8 +- Update to 1.11.90 +- Remove patch for GNOME bug #415891 (fixed upstream). + * Wed Aug 08 2007 Matthew Barnes - 1.11.6.1-1.fc8 - Update to 1.11.6.1 diff --git a/sources b/sources index 9cb2c38..3dc6d16 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -543744d3853f887d826aafa78849c5db evolution-data-server-1.11.6.1.tar.bz2 +84013962de7ffb749dc74151a20f2589 evolution-data-server-1.11.90.tar.bz2