Changeset 2574

Show
Ignore:
Timestamp:
08/07/07 11:51:22
Author:
pvanhoof
Message:

2007-08-07 Philip Van Hoof <pvanhoof@gnome.org>

        • Consistency in the async callback APIs
        • Cleaning up in case of cancels
        • Making sync_async cancellable
        • This was a major API change
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r2568 r2574  
     12007-08-07  Philip Van Hoof  <pvanhoof@gnome.org> 
     2 
     3        * Consistency in the async callback APIs 
     4        * Cleaning up in case of cancels 
     5        * Making sync_async cancellable 
     6 
     7        * This was a major API change 
     8 
    192007-08-06  Philip Van Hoof  <pvanhoof@gnome.org> 
    210 
  • trunk/docs/devel/reference/tmpl/tny-account-store.sgml

    r2572 r2574  
    1616 
    1717<!-- ##### SECTION Stability_Level ##### --> 
     18 
     19 
     20<!-- ##### MACRO TNY_TYPE_ACCOUNT_STORE_SIGNAL ##### --> 
     21<para> 
     22 
     23</para> 
     24 
    1825 
    1926 
     
    4249 
    4350</para> 
     51 
     52@: 
    4453 
    4554@tnyaccountstore: the object which received the signal. 
  • trunk/docs/devel/reference/tmpl/tny-account.sgml

    r2572 r2574  
    1616 
    1717<!-- ##### SECTION Stability_Level ##### --> 
    18  
    19  
    20 <!-- ##### MACRO TNY_TYPE_ACCOUNT_TYPE ##### --> 
    21 <para> 
    22  
    23 </para> 
    24  
    2518 
    2619 
     
    8477@changed:  
    8578 
     79<!-- ##### MACRO TNY_TYPE_CONNECTION_STATUS ##### --> 
     80<para> 
     81 
     82</para> 
     83 
     84 
     85 
     86<!-- ##### MACRO TNY_TYPE_ACCOUNT_TYPE ##### --> 
     87<para> 
     88 
     89</para> 
     90 
     91 
     92 
     93<!-- ##### MACRO TNY_TYPE_ACCOUNT_SIGNAL ##### --> 
     94<para> 
     95 
     96</para> 
     97 
     98 
     99 
    86100<!-- ##### FUNCTION tny_account_type_get_type ##### --> 
    87101<para> 
     
    92106 
    93107 
     108<!-- ##### FUNCTION tny_account_get_connection_status ##### --> 
     109<para> 
     110 
     111</para> 
     112 
     113@self:  
     114@Returns:  
     115 
     116 
    94117<!-- ##### FUNCTION tny_account_set_id ##### --> 
    95118<para> 
     
    110133 
    111134 
     135<!-- ##### FUNCTION tny_account_set_secure_auth_mech ##### --> 
     136<para> 
     137 
     138</para> 
     139 
     140@self:  
     141@mech:  
     142 
     143 
    112144<!-- ##### FUNCTION tny_account_set_proto ##### --> 
    113145<para> 
     
    191223 
    192224 
     225<!-- ##### FUNCTION tny_account_get_secure_auth_mech ##### --> 
     226<para> 
     227 
     228</para> 
     229 
     230@self:  
     231@Returns:  
     232 
     233 
    193234<!-- ##### FUNCTION tny_account_get_proto ##### --> 
    194235<para> 
     
    281322 
    282323 
     324<!-- ##### FUNCTION tny_account_start_operation ##### --> 
     325<para> 
     326 
     327</para> 
     328 
     329@self:  
     330@domain:  
     331@code:  
     332@status_callback:  
     333@status_user_data:  
     334 
     335 
     336<!-- ##### FUNCTION tny_account_stop_operation ##### --> 
     337<para> 
     338 
     339</para> 
     340 
     341@self:  
     342@canceled:  
     343 
     344 
     345<!-- ##### FUNCTION tny_account_is_ready ##### --> 
     346<para> 
     347 
     348</para> 
     349 
     350@self:  
     351@Returns:  
     352 
     353 
  • trunk/docs/devel/reference/tmpl/tny-camel-account.sgml

    r2572 r2574  
    5757 
    5858 
     59<!-- ##### USER_FUNCTION TnyCamelSetOnlineCallback ##### --> 
     60<para> 
     61 
     62</para> 
     63 
     64@account:  
     65@err:  
     66 
     67 
    5968<!-- ##### STRUCT TnyCamelAccount ##### --> 
    6069<para> 
     
    99108 
    100109 
     110<!-- ##### USER_FUNCTION TnyCamelGetSupportedSecureAuthCallback ##### --> 
     111<para> 
     112 
     113</para> 
     114 
     115@self:  
     116@cancelled:  
     117@auth_types:  
     118@err:  
     119@user_data:  
     120 
     121 
     122<!-- ##### FUNCTION tny_camel_account_get_supported_secure_authentication ##### --> 
     123<para> 
     124 
     125</para> 
     126 
     127@self:  
     128@callback:  
     129@status_callback:  
     130@user_data:  
     131 
     132 
  • trunk/docs/devel/reference/tmpl/tny-camel-pop-store-account.sgml

    r2572 r2574  
    3232 
    3333 
     34<!-- ##### FUNCTION tny_camel_pop_store_account_set_leave_messages_on_server ##### --> 
     35<para> 
     36 
     37</para> 
     38 
     39@self:  
     40@enabled:  
     41 
     42 
     43<!-- ##### FUNCTION tny_camel_pop_store_account_reconnect ##### --> 
     44<para> 
     45 
     46</para> 
     47 
     48@self:  
     49 
     50 
  • trunk/docs/devel/reference/tmpl/tny-camel-send-queue.sgml

    r2572 r2574  
    5959 
    6060 
     61<!-- ##### FUNCTION tny_camel_send_queue_join_worker ##### --> 
     62<para> 
     63 
     64</para> 
     65 
     66@self:  
     67 
     68 
  • trunk/docs/devel/reference/tmpl/tny-device.sgml

    r2572 r2574  
    1919 
    2020 
     21<!-- ##### MACRO TNY_TYPE_DEVICE_SIGNAL ##### --> 
     22<para> 
     23 
     24</para> 
     25 
     26 
     27 
    2128<!-- ##### STRUCT TnyDevice ##### --> 
    2229<para> 
     
    2936 
    3037</para> 
     38 
     39@:  
     40@: 
    3141 
    3242@tnydevice: the object which received the signal. 
  • trunk/docs/devel/reference/tmpl/tny-enums.sgml

    r2572 r2574  
    122122@TNY_ACCOUNT_TYPE_COMBINED:  
    123123 
     124<!-- ##### ENUM TnyAccountSignal ##### --> 
     125<para> 
     126 
     127</para> 
     128 
     129@TNY_ACCOUNT_CONNECTION_STATUS_CHANGED:  
     130@TNY_ACCOUNT_LAST_SIGNAL:  
     131 
     132<!-- ##### ENUM TnyConnectionStatus ##### --> 
     133<para> 
     134 
     135</para> 
     136 
     137@TNY_CONNECTION_STATUS_DISCONNECTED:  
     138@TNY_CONNECTION_STATUS_DISCONNECTED_BROKEN:  
     139@TNY_CONNECTION_STATUS_CONNECTED_BROKEN:  
     140@TNY_CONNECTION_STATUS_CONNECTED:  
     141@TNY_CONNECTION_STATUS_RECONNECTING:  
     142@TNY_CONNECTION_STATUS_INIT:  
     143 
    124144<!-- ##### ENUM TnyAccountStoreSignal ##### --> 
    125145<para> 
     
    229249@TNY_FOLDER_TYPE_NUM:  
    230250 
     251<!-- ##### ENUM TnySendQueueSignal ##### --> 
     252<para> 
     253 
     254</para> 
     255 
     256@TNY_SEND_QUEUE_MSG_SENDING:  
     257@TNY_SEND_QUEUE_MSG_SENT:  
     258@TNY_SEND_QUEUE_ERROR_HAPPENED:  
     259@TNY_SEND_QUEUE_LAST_SIGNAL:  
     260 
     261<!-- ##### ENUM TnyStoreAccountSignal ##### --> 
     262<para> 
     263 
     264</para> 
     265 
     266@TNY_STORE_ACCOUNT_SUBSCRIPTION_CHANGED:  
     267@TNY_STORE_ACCOUNT_LAST_SIGNAL:  
     268 
  • trunk/docs/devel/reference/tmpl/tny-folder-change.sgml

    r2572 r2574  
    1717 
    1818<!-- ##### SECTION Stability_Level ##### --> 
     19 
     20 
     21<!-- ##### MACRO TNY_TYPE_FOLDER_CHANGE_CHANGED ##### --> 
     22<para> 
     23 
     24</para> 
     25 
    1926 
    2027 
     
    116123 
    117124 
     125<!-- ##### FUNCTION tny_folder_change_add_expunged_header ##### --> 
     126<para> 
     127 
     128</para> 
     129 
     130@self:  
     131@header:  
     132 
     133 
    118134<!-- ##### FUNCTION tny_folder_change_get_added_headers ##### --> 
     135<para> 
     136 
     137</para> 
     138 
     139@self:  
     140@headers:  
     141 
     142 
     143<!-- ##### FUNCTION tny_folder_change_get_expunged_headers ##### --> 
    119144<para> 
    120145 
  • trunk/docs/devel/reference/tmpl/tny-folder-store-change.sgml

    r2572 r2574  
    1717 
    1818<!-- ##### SECTION Stability_Level ##### --> 
     19 
     20 
     21<!-- ##### MACRO TNY_TYPE_FOLDER_STORE_CHANGE_CHANGED ##### --> 
     22<para> 
     23 
     24</para> 
     25 
    1926 
    2027 
  • trunk/docs/devel/reference/tmpl/tny-folder.sgml

    r2572 r2574  
    6565@get_caps_func:  
    6666 
     67<!-- ##### MACRO TNY_TYPE_FOLDER_SIGNAL ##### --> 
     68<para> 
     69 
     70</para> 
     71 
     72 
     73 
    6774<!-- ##### MACRO TNY_TYPE_FOLDER_TYPE ##### --> 
    6875<para> 
     
    7279 
    7380 
     81<!-- ##### MACRO TNY_TYPE_FOLDER_CAPS ##### --> 
     82<para> 
     83 
     84</para> 
     85 
     86 
     87 
    7488<!-- ##### FUNCTION tny_folder_type_get_type ##### --> 
    7589<para> 
     
    144158@expunge:  
    145159@err:  
     160 
     161 
     162<!-- ##### FUNCTION tny_folder_sync_async ##### --> 
     163<para> 
     164 
     165</para> 
     166 
     167@self:  
     168@expunge:  
     169@callback:  
     170@status_callback:  
     171@user_data:  
    146172 
    147173 
     
    191217 
    192218 
     219<!-- ##### FUNCTION tny_folder_get_headers_async ##### --> 
     220<para> 
     221 
     222</para> 
     223 
     224@self:  
     225@headers:  
     226@refresh:  
     227@callback:  
     228@status_callback:  
     229@user_data:  
     230 
     231 
    193232<!-- ##### FUNCTION tny_folder_get_account ##### --> 
    194233<para> 
     
    237276 
    238277<!-- ##### FUNCTION tny_folder_get_unread_count ##### --> 
     278<para> 
     279 
     280</para> 
     281 
     282@self:  
     283@Returns:  
     284 
     285 
     286<!-- ##### FUNCTION tny_folder_get_local_size ##### --> 
    239287<para> 
    240288 
     
    313361 
    314362 
     363<!-- ##### FUNCTION tny_folder_copy_async ##### --> 
     364<para> 
     365 
     366</para> 
     367 
     368@self:  
     369@into:  
     370@new_name:  
     371@del:  
     372@callback:  
     373@status_callback:  
     374@user_data:  
     375 
     376 
    315377<!-- ##### FUNCTION tny_folder_poke_status ##### --> 
    316378<para> 
     
    366428 
    367429 
     430<!-- ##### FUNCTION tny_folder_get_url_string ##### --> 
     431<para> 
     432 
     433</para> 
     434 
     435@self:  
     436@Returns:  
     437 
     438 
  • trunk/docs/devel/reference/tmpl/tny-header.sgml

    r2572 r2574  
    6464@unset_flags_func:  
    6565 
     66<!-- ##### MACRO TNY_TYPE_HEADER_PRIORITY_FLAGS ##### --> 
     67<para> 
     68 
     69</para> 
     70 
     71 
     72 
    6673<!-- ##### FUNCTION tny_header_flags_get_type ##### --> 
    6774<para> 
  • trunk/docs/devel/reference/tmpl/tny-merge-folder.sgml

    r2572 r2574  
    4242 
    4343 
     44<!-- ##### FUNCTION tny_merge_folder_set_folder_type ##### --> 
     45<para> 
     46 
     47</para> 
     48 
     49@self:  
     50@folder_type:  
     51 
     52 
  • trunk/docs/devel/reference/tmpl/tny-mime-part.sgml

    r2572 r2574  
    138138 
    139139 
     140<!-- ##### FUNCTION tny_mime_part_is_purged ##### --> 
     141<para> 
     142 
     143</para> 
     144 
     145@self:  
     146@Returns:  
     147 
     148 
    140149<!-- ##### FUNCTION tny_mime_part_set_content_location ##### --> 
    141150<para> 
     
    183192 
    184193 
     194<!-- ##### FUNCTION tny_mime_part_set_purged ##### --> 
     195<para> 
     196 
     197</para> 
     198 
     199@self:  
     200 
     201 
    185202<!-- ##### FUNCTION tny_mime_part_is_attachment ##### --> 
    186203<para> 
     
    238255 
    239256 
     257<!-- ##### FUNCTION tny_mime_part_set_header_pair ##### --> 
     258<para> 
     259 
     260</para> 
     261 
     262@self:  
     263@name:  
     264@value:  
     265 
     266 
  • trunk/docs/devel/reference/tmpl/tny-msg.sgml

    r2572 r2574  
    6464 
    6565 
     66<!-- ##### FUNCTION tny_msg_uncache_attachments ##### --> 
     67<para> 
     68 
     69</para> 
     70 
     71@self:  
     72 
     73 
     74<!-- ##### FUNCTION tny_msg_rewrite_cache ##### --> 
     75<para> 
     76 
     77</para> 
     78 
     79@self:  
     80 
     81 
  • trunk/docs/devel/reference/tmpl/tny-send-queue.sgml

    r2572 r2574  
    4040</para> 
    4141 
    42 @:  
    43 @:  
    44 @:  
    45 @: 
    46  
    4742@tnysendqueue: the object which received the signal. 
    4843@arg1:  
     
    5449 
    5550</para> 
    56  
    57 @:  
    58 @:  
    59 @:  
    60 @:  
    61 @: 
    6251 
    6352@tnysendqueue: the object which received the signal. 
     
    7160 
    7261</para> 
    73  
    74 @:  
    75 @:  
    76 @:  
    77 @:  
    78 @: 
    7962 
    8063@tnysendqueue: the object which received the signal. 
     
    9780@get_outbox_func:  
    9881@cancel_func:  
     82 
     83<!-- ##### MACRO TNY_TYPE_SEND_QUEUE_SIGNAL ##### --> 
     84<para> 
     85 
     86</para> 
     87 
     88 
    9989 
    10090<!-- ##### FUNCTION tny_send_queue_add ##### --> 
  • trunk/docs/devel/reference/tmpl/tny-session-camel.sgml

    r2572 r2574  
    9393 
    9494 
     95<!-- ##### FUNCTION tny_session_camel_set_initialized ##### --> 
     96<para> 
     97 
     98</para> 
     99 
     100@self:  
     101 
     102 
  • trunk/docs/devel/reference/tmpl/tny-shared.sgml

    r2572 r2574  
    1616 
    1717<!-- ##### SECTION Stability_Level ##### --> 
     18 
     19 
     20<!-- ##### MACRO tny_debug ##### --> 
     21<para> 
     22 
     23</para> 
     24 
    1825 
    1926 
     
    4047</para> 
    4148 
    42 @:  
     49@tnyaccountstore: the object which received the signal. 
    4350 
    4451<!-- ##### STRUCT TnyAccountStoreIface ##### --> 
     
    241248</para> 
    242249 
    243 @tnyaccount: the object which received the signal. 
     250@:  
    244251 
    245252<!-- ##### SIGNAL TnyAccount::connection-status-changed ##### --> 
     
    298305</para> 
    299306 
    300 @:  
    301 @:  
     307@tnydevice: the object which received the signal. 
     308@arg1:  
    302309 
    303310<!-- ##### STRUCT TnyDeviceIface ##### --> 
     
    407414 
    408415 
     416<!-- ##### USER_FUNCTION TnyGetHeadersCallback ##### --> 
     417<para> 
     418 
     419</para> 
     420 
     421@self:  
     422@cancelled:  
     423@headers:  
     424@err:  
     425@user_data:  
     426 
     427 
    409428<!-- ##### USER_FUNCTION TnyGetMsgCallback ##### --> 
    410429<para> 
     
    418437@err: in case there was an error, this !GError instance is not NULL 
    419438@user_data: user data passed at the caller 
     439 
     440 
     441<!-- ##### USER_FUNCTION TnySyncFolderCallback ##### --> 
     442<para> 
     443 
     444</para> 
     445 
     446@folder:  
     447@cancelled:  
     448@err:  
     449@user_data:  
    420450 
    421451 
     
    519549 
    520550@self: the #TnyFolderStore from which the child folders where requested 
     551@cancelled:  
    521552@list: a #TnyList with #TnyFolder instances (the requested children of @self) 
    522553@err: in case there was an error, this !GError instance is not NULL 
     
    524555 
    525556 
     557<!-- ##### USER_FUNCTION TnyCopyFolderCallback ##### --> 
     558<para> 
     559 
     560</para> 
     561 
     562@self:  
     563@cancelled:  
     564@into:  
     565@new_folder:  
     566@err:  
     567@user_data:  
     568 
     569 
    526570<!-- ##### STRUCT TnyMsgRemoveStrategy ##### --> 
    527571<para> 
     
    549593</para> 
    550594 
    551 @tnysendqueue: the object which received the signal. 
    552 @arg1:  
    553 @arg2:  
    554 @arg3:  
     595@:  
     596@:  
     597@:  
     598@:  
    555599 
    556600<!-- ##### SIGNAL TnySendQueue::msg-sending ##### --> 
     
    559603</para> 
    560604 
    561 @tnysendqueue: the object which received the signal. 
    562 @arg1:  
    563 @arg2:  
    564 @arg3:  
    565 @arg4:  
     605@:  
     606@:  
     607@:  
     608@:  
     609@:  
    566610 
    567611<!-- ##### SIGNAL TnySendQueue::msg-sent ##### --> 
     
    570614</para> 
    571615 
    572 @tnysendqueue: the object which received the signal. 
    573 @arg1:  
    574 @arg2:  
    575 @arg3:  
    576 @arg4:  
     616@:  
     617@:  
     618@:  
     619@:  
     620@:  
    577621 
    578622<!-- ##### STRUCT TnySendQueueIface ##### --> 
  • trunk/docs/devel/reference/tmpl/tny-status.sgml

    r2572 r2574  
    1818 
    1919 
    20 <!-- ##### MACRO TNY_TYPE_STATUS_DOMAIN ##### --> 
    21 <para> 
    22  
    23 </para> 
    24  
    25  
    26  
    2720<!-- ##### STRUCT TnyStatus ##### --> 
    2821<para> 
     
    3528@position:  
    3629@of_total:  
     30 
     31<!-- ##### MACRO TNY_TYPE_STATUS_DOMAIN ##### --> 
     32<para> 
     33 
     34</para> 
     35 
     36 
     37 
     38<!-- ##### MACRO TNY_TYPE_STATUS_CODE ##### --> 
     39<para> 
     40 
     41</para> 
     42 
     43 
    3744 
    3845<!-- ##### FUNCTION tny_status_domain_get_type ##### --> 
  • trunk/docs/devel/reference/tmpl/tny-store-account.sgml

    r2572 r2574  
    1818 
    1919 
     20<!-- ##### MACRO TNY_TYPE_STORE_ACCOUNT_SIGNAL ##### --> 
     21<para> 
     22 
     23</para> 
     24 
     25 
     26 
    2027<!-- ##### STRUCT TnyStoreAccount ##### --> 
    2128<para> 
     
    2835 
    2936</para> 
    30  
    31 @: 
    3237 
    3338@tnystoreaccount: the object which received the signal. 
     
    7580 
    7681 
     82<!-- ##### FUNCTION tny_store_account_delete_cache ##### --> 
     83<para> 
     84 
     85</para> 
     86 
     87@self:  
     88 
     89 
  • trunk/docs/devel/reference/tmpl/tny-stream-camel.sgml

    r2572 r2574  
    1818 
    1919<!-- ##### SECTION Stability_Level ##### --> 
     20 
     21 
     22<!-- ##### MACRO TNY_TYPE_STREAM_CAMEL_STREAM ##### --> 
     23<para> 
     24 
     25</para> 
     26 
    2027 
    2128 
  • trunk/libtinymail-camel/tny-camel-folder.c

    r2562 r2574  
    11151115        if (info->callback) { 
    11161116                tny_lockable_lock (info->session->priv->ui_lock); 
    1117                 info->callback (info->self, info->cancelled, &info->err, info->user_data); 
     1117                info->callback (info->self, info->cancelled, info->err, info->user_data); 
    11181118                tny_lockable_unlock (info->session->priv->ui_lock); 
    11191119        } 
     
    11361136 
    11371137        execute_callback (oinfo->depth, G_PRIORITY_HIGH, 
    1138                          tny_progress_info_idle_func, info, 
    1139                          tny_progress_info_destroy); 
     1138                tny_progress_info_idle_func, info, 
     1139                tny_progress_info_destroy); 
    11401140 
    11411141        return; 
     
    12221222{ 
    12231223        SyncFolderInfo *info = thr_user_data; 
    1224         g_error_free (info->err); 
     1224        if (info->err) 
     1225                g_error_free (info->err); 
    12251226        g_object_unref (info->self); 
    12261227        g_slice_free (SyncFolderInfo, thr_user_data); 
     
    12341235        if (info->callback) { 
    12351236                tny_lockable_lock (info->session->priv->ui_lock); 
    1236                 info->callback (info->self, TRUE, &info->err, info->user_data); 
     1237                info->callback (info->self, TRUE, info->err, info->user_data); 
    12371238                tny_lockable_unlock (info->session->priv->ui_lock); 
    12381239        } 
     
    12791280        _tny_camel_folder_reason (priv); 
    12801281 
    1281         _tny_camel_queue_launch (TNY_FOLDER_PRIV_GET_QUEUE (priv),  
     1282        _tny_camel_queue_launch_wflags (TNY_FOLDER_PRIV_GET_QUEUE (priv),  
    12821283                tny_camel_folder_sync_async_thread,  
    12831284                tny_camel_folder_sync_async_cancelled_callback, 
    12841285                tny_camel_folder_sync_async_cancelled_destroyer, &info->cancelled, 
    1285                 info, __FUNCTION__); 
     1286                info, TNY_CAMEL_QUEUE_CANCELLABLE_ITEM|TNY_CAMEL_QUEUE_SYNC_ITEM,  
     1287                __FUNCTION__); 
    12861288} 
    12871289 
     
    13591361        if (info->callback) { 
    13601362                tny_lockable_lock (info->session->priv->ui_lock); 
    1361                 info->callback (info->self, info->cancelled, &info->err, info->user_data); 
     1363                info->callback (info->self, info->cancelled, info->err, info->user_data); 
    13621364                tny_lockable_unlock (info->session->priv->ui_lock); 
    13631365        } 
     
    13851387 
    13861388        execute_callback (oinfo->depth, G_PRIORITY_HIGH, 
    1387                          tny_progress_info_idle_func, info, 
    1388                          tny_progress_info_destroy); 
     1389                tny_progress_info_idle_func, info, 
     1390                tny_progress_info_destroy); 
    13891391 
    13901392        return; 
     
    14481450 
    14491451        execute_callback (info->depth, G_PRIORITY_DEFAULT,  
    1450                          tny_camel_folder_refresh_async_callback, info,  
    1451                          tny_camel_folder_refresh_async_destroyer); 
     1452                tny_camel_folder_refresh_async_callback, info,  
     1453                tny_camel_folder_refresh_async_destroyer); 
    14521454 
    14531455        /* Wait on the queue for the mainloop callback to be finished */ 
     
    14751477{ 
    14761478        RefreshFolderInfo *info = thr_user_data; 
    1477         g_error_free (info->err); 
     1479        if (info->err) 
     1480                g_error_free (info->err); 
    14781481        g_object_unref (info->self); 
    14791482        g_slice_free (RefreshFolderInfo, thr_user_data); 
     
    14851488{ 
    14861489        RefreshFolderInfo *info = thr_user_data; 
     1490 
    14871491        if (info->callback) { 
    14881492                tny_lockable_lock (info->session->priv->ui_lock); 
    1489                 info->callback (info->self, TRUE, &info->err, info->user_data); 
     1493                info->callback (info->self, TRUE, info->err, info->user_data); 
    14901494                tny_lockable_unlock (info->session->priv->ui_lock); 
    14911495        } 
     
    17081712        if (info->callback) { 
    17091713                tny_lockable_lock (info->session->priv->ui_lock); 
    1710                 info->callback (info->self, info->cancelled, info->headers, &info->err, info->user_data); 
     1714                info->callback (info->self, info->cancelled, info->headers, info->err, info->user_data); 
    17111715                tny_lockable_unlock (info->session->priv->ui_lock); 
    17121716        } 
     
    17571761{ 
    17581762        GetHeadersInfo *info = thr_user_data; 
    1759         g_error_free (info->err); 
     1763        if (info->err) 
     1764                g_error_free (info->err); 
    17601765        g_object_unref (info->self); 
    17611766        g_object_unref (info->headers); 
     
    17701775        if (info->callback) { 
    17711776                tny_lockable_lock (info->session->priv->ui_lock); 
    1772                 info->callback (info->self, TRUE, info->headers, &info->err, info->user_data); 
     1777                info->callback (info->self, TRUE, info->headers, info->err, info->user_data); 
    17731778                tny_lockable_unlock (info->session->priv->ui_lock); 
    17741779        } 
     
    19731978        if (info->callback) { 
    19741979                tny_lockable_lock (info->session->priv->ui_lock); 
    1975                 info->callback (info->self, info->cancelled, info->msg, &info->err, info->user_data); 
     1980                info->callback (info->self, info->cancelled, info->msg, info->err, info->user_data); 
    19761981                tny_lockable_unlock (info->session->priv->ui_lock); 
    19771982        } 
     
    20862091{ 
    20872092        GetMsgInfo *info = (GetMsgInfo *) thr_user_data; 
    2088         g_error_free (info->err); 
     2093        if (info->err) 
     2094                g_error_free (info->err); 
    20892095        g_object_unref (info->self); 
    20902096        g_slice_free (GetMsgInfo, info); 
     
    20992105        if (info->callback) { 
    21002106                tny_lockable_lock (info->session->priv->ui_lock); 
    2101                 info->callback (info->self, TRUE, NULL, &info->err, info->user_data); 
     2107                info->callback (info->self, TRUE, NULL, info->err, info->user_data); 
    21022108                tny_lockable_unlock (info->session->priv->ui_lock); 
    21032109        } 
     
    29912997        if (info->callback) { 
    29922998                tny_lockable_lock (info->session->priv->ui_lock); 
    2993                 info->callback (info->self, info->into, info->cancelled,  
    2994                         info->new_folder, &info->err, info->user_data); 
     2999                info->callback (info->self, info->cancelled, info->into,  
     3000                        info->new_folder, info->err, info->user_data); 
    29953001                tny_lockable_unlock (info->session->priv->ui_lock); 
    29963002        } 
     
    30963102{ 
    30973103        CopyFolderInfo *info = (CopyFolderInfo *) thr_user_data; 
    3098         g_free (info->new_name); 
    3099         g_error_free (info->err); 
     3104 
     3105        if (info->new_name) 
     3106                g_free (info->new_name); 
     3107        if (info->err) 
     3108                g_error_free (info->err); 
    31003109        g_object_unref (info->self); 
    31013110        g_object_unref (info->into); 
     
    31113120        if (info->callback) { 
    31123121                tny_lockable_lock (info->session->priv->ui_lock); 
    3113                 info->callback (info->self, info->into, TRUE, NULL, &info->err, info->user_data); 
     3122                info->callback (info->self, TRUE, info->into, NULL, info->err, info->user_data); 
    31143123                tny_lockable_unlock (info->session->priv->ui_lock); 
    31153124        } 
     
    32973306        if (info->callback) { 
    32983307                tny_lockable_lock (info->session->priv->ui_lock); 
    3299                 info->callback (info->self, info->cancelled, &info->err, info->user_data); 
     3308                info->callback (info->self, info->cancelled, info->err, info->user_data); 
    33003309                tny_lockable_unlock (info->session->priv->ui_lock); 
    33013310        } 
     
    37043713{ 
    37053714        TransferMsgsInfo *info = thr_user_data; 
    3706         g_error_free (info->err); 
    3707