~ubuntu-branches/ubuntu/lucid/evolution/lucid

« back to all changes in this revision

Viewing changes to calendar/gui/gnome-cal.c

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2010-03-01 23:30:42 UTC
  • mfrom: (1.1.71 upstream)
  • Revision ID: james.westby@ubuntu.com-20100301233042-8mzqjvw6hk77f667
Tags: 2.28.3-0ubuntu1
* New upstream version:
  Bug Fixes:
  - #601551 - [PST] evolution crashed with SIGSEGV (lp: #471852) 
  - #554663 - Swap "Save" and "Save as Draft" accelerators in composer
              (lp: #424416)
  - #601787 - Double free in destroy_oof_data 
  - #602185 - Crash after 'Show only this calendar' 
  - #609042 - Convert quoted-printing to UTF-8 when copying to clipboard 
  - #610124 - Autosave errors dialogues can't be dismissed 
  - #607087 - Not all inlined text attachments are included in replies
  - #607741 - Move folder to claims it's copying in status bar 
  - #607458 - Fix format security warning 
  - #603480 - [bbdb] Traverse lists in destinations properly 
  - #602827 - Disable broken plugins automatically 
  - #607234 - Open received attachments as read-only 
  - #604670 - addressbook-export segfaults when specifying addressbook
  - #605485 - Keeps search from previous folder in message list 
  - #606449 - Empty mail-notification popups 
  - #599794 - Set composer as not changed on reply or forward action 
              (lp: #510529)
  - #605600 - Meeting reminders with wrong times (lp: #242954)
  - #565582 - Make sure the comp_data is not NULL before using it 
              (lp: #351617)
  - #606340 - Crash on non-utf8 letter in mail folder name 
  - #549988 - "Empty Trash" in Trash popup empties all Trash folders
  - #595501 - Crash on a changed mail filter action removal (lp: #452921)
  - #599615 - i18n support for emae and filter-bar when used as lib 
  - #250046 - Do not count Post To addresses when not shown (lp: #485831)
* debian/patches/90_autoconf.patch:
  - new version update 

Show diffs side-by-side

added added

removed removed

Lines of Context:
139
139
        ECalMenu    *memopad_menu;
140
140
 
141
141
        /* Calendar query for the date navigator */
 
142
        GMutex      *dn_queries_lock; /* lock for dn_queries list */
142
143
        GList       *dn_queries; /* list of CalQueries */
143
144
        gchar        *sexp;
144
145
        gchar        *todo_sexp;
877
878
 
878
879
        priv = gcal->priv;
879
880
 
 
881
        g_mutex_lock (priv->dn_queries_lock);
 
882
 
880
883
        /* free the previous queries */
881
884
        for (l = priv->dn_queries; l != NULL; l = l->next) {
882
885
                old_query = l->data;
891
894
        g_list_free (priv->dn_queries);
892
895
        priv->dn_queries = NULL;
893
896
 
 
897
        g_mutex_unlock (priv->dn_queries_lock);
 
898
 
894
899
        g_return_if_fail (priv->sexp != NULL);
895
900
 
896
901
        real_sexp = adjust_e_cal_view_sexp (gcal, priv->sexp);
937
942
                g_signal_connect (old_query, "view_done",
938
943
                                  G_CALLBACK (dn_e_cal_view_done_cb), gcal);
939
944
 
 
945
                g_mutex_lock (priv->dn_queries_lock);
940
946
                priv->dn_queries = g_list_append (priv->dn_queries, old_query);
 
947
                g_mutex_unlock (priv->dn_queries_lock);
941
948
 
942
949
                e_cal_view_start (old_query);
943
950
        }
1912
1919
        priv->taskpad_menu = e_cal_menu_new("org.gnome.evolution.calendar.taskpad");
1913
1920
        priv->memopad_menu = e_cal_menu_new ("org.gnome.evolution.calendar.memopad");
1914
1921
 
 
1922
        priv->dn_queries_lock = g_mutex_new ();
1915
1923
        priv->dn_queries = NULL;
1916
1924
        priv->sexp = g_strdup ("#t"); /* Match all */
1917
1925
        priv->todo_sexp = g_strdup ("#t");
2004
2012
                e_memo_table_save_state (E_MEMO_TABLE (priv->memo), filename);
2005
2013
                g_free (filename);
2006
2014
 
 
2015
                g_mutex_lock (priv->dn_queries_lock);
2007
2016
                if (priv->dn_queries) {
2008
2017
                        for (l = priv->dn_queries; l != NULL; l = l->next) {
2009
2018
                                g_signal_handlers_disconnect_matched ((ECalView *) l->data, G_SIGNAL_MATCH_DATA,
2014
2023
                        g_list_free (priv->dn_queries);
2015
2024
                        priv->dn_queries = NULL;
2016
2025
                }
 
2026
                g_mutex_unlock (priv->dn_queries_lock);
 
2027
                g_mutex_free (priv->dn_queries_lock);
 
2028
                priv->dn_queries_lock = NULL;
2017
2029
 
2018
2030
                if (non_intrusive_error_table) {
2019
2031
                        g_hash_table_destroy (non_intrusive_error_table);
3372
3384
 
3373
3385
        switch (source_type) {
3374
3386
        case E_CAL_SOURCE_TYPE_EVENT:
 
3387
                g_mutex_lock (priv->dn_queries_lock);
3375
3388
                /* remove the query for this client */
3376
3389
                for (l = priv->dn_queries; l != NULL; l = l->next) {
3377
3390
                        ECalView *query = l->data;
3384
3397
                                break;
3385
3398
                        }
3386
3399
                }
 
3400
                g_mutex_unlock (priv->dn_queries_lock);
3387
3401
 
3388
3402
                model = e_calendar_view_get_model (priv->views[priv->current_view_type]);
3389
3403
                e_cal_model_remove_client (model, client);