Changeset 1331

Show
Ignore:
Timestamp:
12/19/06 10:04:13
Author:
oysteigi
Message:

Revert refcount fix which introduced some more serious problems

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r1330 r1331  
    1 2006-12-19  Oystein Gisnas  <oystein@gisnas.net> 
    2  
    3         * Fix several reference counting problems 
    4  
    512006-12-16  Philip Van Hoof <pvanhoof@gnome.org> 
    62 
  • trunk/libtinymail-camel/tny-camel-common.c

    r1330 r1331  
    3030        gboolean retval = FALSE; 
    3131 
    32         if (!query) 
    33                 return TRUE; 
     32        if (query && (tny_list_get_length (tny_folder_store_query_get_items (query)) > 0)) 
     33        { 
     34                TnyList *items = tny_folder_store_query_get_items (query); 
     35                TnyIterator *iterator; 
     36                iterator = tny_list_create_iterator (items); 
    3437 
    35         TnyList *items = tny_folder_store_query_get_items (query); 
    36         if (tny_list_get_length (items) <= 0) 
    37         { 
    38                 g_object_unref (G_OBJECT (items)); 
    39                 return TRUE; 
    40         } 
    41         TnyIterator *iterator; 
    42         iterator = tny_list_create_iterator (items); 
     38                while (!tny_iterator_is_done (iterator)) 
     39                { 
     40                        TnyFolderStoreQueryItem *item = (TnyFolderStoreQueryItem*) tny_iterator_get_current (iterator); 
     41                        TnyFolderStoreQueryOption options = tny_folder_store_query_item_get_options (item); 
     42                        regex_t *regex = tny_folder_store_query_item_get_regex (item); 
    4343 
    44         while (!tny_iterator_is_done (iterator)) 
    45         { 
    46                 TnyFolderStoreQueryItem *item = (TnyFolderStoreQueryItem*) tny_iterator_get_current (iterator); 
    47                 TnyFolderStoreQueryOption options = tny_folder_store_query_item_get_options (item); 
    48                 regex_t *regex = tny_folder_store_query_item_get_regex (item); 
    49  
    50                 if ((options & TNY_FOLDER_STORE_QUERY_OPTION_SUBSCRIBED) && 
    51                     finfo->flags & CAMEL_FOLDER_SUBSCRIBED) 
    52                         retval = TRUE; 
    53  
    54                 if ((options & TNY_FOLDER_STORE_QUERY_OPTION_UNSUBSCRIBED) && 
    55                     !(finfo->flags & CAMEL_FOLDER_SUBSCRIBED)) 
    56                         retval = TRUE; 
    57  
    58                 if (regex && options & TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_NAME) 
    59                         if (regexec (regex, finfo->name, 0, NULL, 0) == 0) 
     44                        if ((options & TNY_FOLDER_STORE_QUERY_OPTION_SUBSCRIBED) && 
     45                            finfo->flags & CAMEL_FOLDER_SUBSCRIBED) 
    6046                                retval = TRUE; 
    6147 
    62                 if (regex && options & TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_ID) 
    63                         if (regexec (regex, finfo->full_name, 0, NULL, 0) == 0
     48                       if ((options & TNY_FOLDER_STORE_QUERY_OPTION_UNSUBSCRIBED) && 
     49                            !(finfo->flags & CAMEL_FOLDER_SUBSCRIBED)
    6450                                retval = TRUE; 
    6551 
    66                 g_object_unref (G_OBJECT (item)); 
    67                 tny_iterator_next (iterator); 
    68         } 
    69                           
    70         g_object_unref (G_OBJECT (iterator));     
    71         g_object_unref (G_OBJECT (items)); 
     52                        if (regex && options & TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_NAME) 
     53                            if (regexec (regex, finfo->name, 0, NULL, 0) == 0) 
     54                                retval = TRUE; 
     55 
     56                        if (regex && options & TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_ID) 
     57                            if (regexec (regex, finfo->full_name, 0, NULL, 0) == 0) 
     58                                retval = TRUE; 
     59 
     60                        g_object_unref (G_OBJECT (item)); 
     61                        tny_iterator_next (iterator); 
     62                } 
     63                  
     64                g_object_unref (G_OBJECT (iterator));     
     65                g_object_unref (G_OBJECT (items)); 
     66        } else 
     67                retval = TRUE; 
    7268 
    7369        return retval; 
  • trunk/libtinymail-camel/tny-camel-folder.c

    r1330 r1331  
    15341534                tny_iterator_next (iter); 
    15351535        } 
    1536         g_object_unref (G_OBJECT (iter)); 
    15371536 
    15381537        ex = camel_exception_new (); 
     
    19581957 
    19591958                        tny_list_prepend (list, G_OBJECT (folder)); 
    1960  
    1961                         g_object_unref (G_OBJECT (folder)); 
    19621959                } 
    19631960                iter = iter->next; 
  • trunk/libtinymail-camel/tny-camel-store-account.c

    r1330 r1331  
    520520 
    521521                        tny_list_prepend (list, G_OBJECT (folder)); 
    522                         g_object_unref (G_OBJECT (folder)); 
    523522                } 
    524523                iter = iter->next; 
  • trunk/libtinymail-test/tny-device-test.c

    r1309 r1331  
    5959END_TEST 
    6060 
     61START_TEST (tny_device_test_connection_changed) 
     62{ 
     63} 
     64END_TEST 
     65 
    6166Suite * 
    6267create_tny_device_suite (void) 
    6368{ 
    6469     Suite *s = suite_create ("Device"); 
     70     TCase *tc = NULL; 
    6571 
    66      TCase *tc = tcase_create ("Is Online"); 
     72     tc = tcase_create ("Is Online"); 
    6773     tcase_add_checked_fixture (tc, tny_device_test_setup, tny_device_test_teardown); 
    6874     tcase_add_test (tc, tny_device_test_is_online); 
    6975     suite_add_tcase (s, tc); 
    7076 
     77     /* Make sure test fails when signal is not received */ 
     78     tc = tcase_create ("Connection Changed"); 
     79     tcase_add_checked_fixture (tc, tny_device_test_setup, tny_device_test_teardown); 
     80     tcase_add_test_raise_signal (tc, tny_device_test_connection_changed, tny_device_signals [TNY_DEVICE_CONNECTION_CHANGED]); 
     81     suite_add_tcase (s, tc); 
     82 
    7183     return s; 
    7284} 
  • trunk/tests/functional/folder-lister-async.c

    r1330 r1331  
    124124        tny_account_store_get_accounts (account_store, accounts,  
    125125              TNY_ACCOUNT_STORE_STORE_ACCOUNTS); 
    126         g_object_unref (G_OBJECT (account_store)); 
    127126     
    128127        iter = tny_list_create_iterator (accounts); 
  • trunk/tests/functional/folder-lister.c

    r1330 r1331  
    106106        tny_account_store_get_accounts (account_store, accounts,  
    107107              TNY_ACCOUNT_STORE_STORE_ACCOUNTS); 
    108         g_object_unref (G_OBJECT (account_store)); 
    109108     
    110109        iter = tny_list_create_iterator (accounts); 
  • trunk/tests/functional/msg-transfer.c

    r1330 r1331  
    128128        tny_account_store_get_accounts (account_store, accounts,  
    129129              TNY_ACCOUNT_STORE_STORE_ACCOUNTS); 
    130         g_object_unref (G_OBJECT (account_store)); 
    131130     
    132131        iter = tny_list_create_iterator (accounts); 
     
    175174 
    176175 cleanup: 
    177         g_object_unref (folder_src); 
    178         g_object_unref (folder_dst); 
    179176        g_object_unref (account); 
    180177        g_object_unref (query); 
  • trunk/tests/memory/memory-test.c

    r1330 r1331  
    157157        tny_account_store_get_accounts (account_store, accounts,  
    158158                TNY_ACCOUNT_STORE_STORE_ACCOUNTS); 
    159         g_object_unref (G_OBJECT (account_store)); 
    160159 
    161160        aiter = tny_list_create_iterator (accounts); 
  • trunk/tests/shared/account-store.c

    r1330 r1331  
    157157 
    158158        self->device = tny_platform_factory_new_device (platfact); 
    159         g_object_unref (G_OBJECT (platfact)); 
    160159 
    161160        return; 
     
    168167        TnyTestAccountStore *me = (TnyTestAccountStore*) object; 
    169168     
    170         g_object_unref (G_OBJECT (me->device)); 
    171169        if (me->cache_dir) 
    172170                g_free (me->cache_dir);