Changeset 3741

Show
Ignore:
Timestamp:
08/21/08 18:05:50
Author:
svillar
Message:

Fixed several memory leaks

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r3740 r3741  
    112008-08-21  Sergio Villar Senin  <svillar@igalia.com> 
     2 
     3        * libtinymail/tny-merge-folder.c (remove_msgs_async_thread), 
     4        (tny_merge_folder_remove_msgs_async), (sync_async_thread), 
     5        (tny_merge_folder_sync_async), (get_msg_async_thread), 
     6        (tny_merge_folder_get_msg_async), (find_msg_async_thread), 
     7        (tny_merge_folder_find_msg_async), (get_headers_async_thread), 
     8        (tny_merge_folder_get_headers_async), (refresh_async_thread), 
     9        (tny_merge_folder_refresh_async), (transfer_msgs_async_thread), 
     10        (tny_merge_folder_transfer_msgs_async): Added some missing frees 
     11        to fix several leaks of thread structures 
    212 
    313        * libtinymail/tny-fs-stream-cache.c 
  • trunk/libtinymail/tny-merge-folder.c

    r3666 r3741  
    202202                } 
    203203        } else { /* Thread reference */ 
    204                 g_object_unref (info->self); 
    205                 g_object_unref (info->headers); 
     204                remove_msgs_async_destroyer (info); 
    206205        } 
    207206 
     
    218217        GThread *thread; 
    219218 
    220         info = g_slice_new (RemMsgsInfo); 
     219        info = g_slice_new0 (RemMsgsInfo); 
    221220        info->err = NULL; 
    222221        info->self = self; 
     
    413412                        sync_async_destroyer (info); 
    414413                } 
    415         } else /* Thread reference */ 
    416                 g_object_unref (self); 
     414        } else { /* Thread reference */ 
     415                sync_async_destroyer (info); 
     416        } 
    417417 
    418418        g_thread_exit (NULL); 
     
    428428        GThread *thread; 
    429429 
    430         info = g_slice_new (SyncFolderInfo); 
     430        info = g_slice_new0 (SyncFolderInfo); 
    431431        info->err = NULL; 
    432432        info->self = self; 
     
    605605                        get_msg_async_destroyer (info); 
    606606                } 
    607         } else /* thread reference */ 
    608                 g_object_unref (info->self); 
     607        } else { /* thread reference */ 
     608                get_msg_async_destroyer (info); 
     609        } 
    609610 
    610611        g_thread_exit (NULL); 
     
    620621        GThread *thread; 
    621622 
    622         info = g_slice_new (GetMsgInfo); 
     623        info = g_slice_new0 (GetMsgInfo); 
    623624        info->self = self; 
    624625        info->header = header; 
     
    712713                        find_msg_async_destroyer (info); 
    713714                } 
    714         } else /* thread reference */ 
    715                 g_object_unref (info->self); 
     715        } else { /* thread reference */ 
     716                find_msg_async_destroyer (info); 
     717        } 
    716718 
    717719        g_thread_exit (NULL); 
     
    727729        GThread *thread; 
    728730 
    729         info = g_slice_new (FindMsgInfo); 
     731        info = g_slice_new0 (FindMsgInfo); 
    730732        info->self = self; 
    731733        info->url_string = g_strdup (url_string); 
     
    843845                } 
    844846        } else { /* Thread reference */ 
    845                 g_object_unref (info->self); 
    846                 g_object_unref (info->headers); 
     847                get_headers_async_destroyer (info); 
    847848        } 
    848849 
     
    859860        GThread *thread; 
    860861 
    861         info = g_slice_new (GetHeadersFolderInfo); 
     862        info = g_slice_new0 (GetHeadersFolderInfo); 
    862863        info->err = NULL; 
    863864        info->self = self; 
     
    12461247                        refresh_async_destroyer (info); 
    12471248                } 
    1248         } else /* Thread reference */ 
    1249                 g_object_unref (self); 
     1249        } else { 
     1250                refresh_async_destroyer (info); 
     1251        } 
    12501252 
    12511253        g_thread_exit (NULL); 
     
    12611263        GThread *thread; 
    12621264 
    1263         info = g_slice_new (RefreshFolderInfo); 
     1265        info = g_slice_new0 (RefreshFolderInfo); 
    12641266        info->err = NULL; 
    12651267        info->self = self; 
     
    13801382                } 
    13811383        } else  { /* Thread reference */ 
    1382                 g_object_unref (info->self); 
    1383                 g_object_unref (info->folder_dst); 
    1384                 g_object_unref (info->header_list); 
     1384                transfer_msgs_async_destroyer (info); 
    13851385        } 
    13861386 
     
    13961396        GThread *thread; 
    13971397 
    1398         info = g_slice_new (TransferMsgsInfo); 
     1398        info = g_slice_new0 (TransferMsgsInfo); 
    13991399        info->err = NULL; 
    14001400        info->self = self;