[Goodies-commits] r5254 - xfce4-mailwatch-plugin/trunk/libmailwatch-core

Brian Tarricone kelnos at xfce.org
Sat Aug 16 12:06:56 CEST 2008


Author: kelnos
Date: 2008-08-16 10:06:56 +0000 (Sat, 16 Aug 2008)
New Revision: 5254

Modified:
   xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-gmail.c
   xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-imap.c
   xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-mbox.c
   xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-pop3.c
Log:
simplify, fix crash on pop3 mailbox remove

Modified: xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-gmail.c
===================================================================
--- xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-gmail.c	2008-08-16 09:53:41 UTC (rev 5253)
+++ xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-gmail.c	2008-08-16 10:06:56 UTC (rev 5254)
@@ -651,12 +651,7 @@
 {
     XfceMailwatchGMailMailbox *gmailbox = XFCE_MAILWATCH_GMAIL_MAILBOX(mailbox);
     
-    if(gmailbox->check_id) {
-        g_source_remove(gmailbox->check_id);
-        gmailbox->check_id = 0;
-    }
-
-    g_atomic_int_set(&gmailbox->running, FALSE);
+    gmail_set_activated(mailbox, FALSE);
     while(g_atomic_pointer_get(&gmailbox->th))
         g_thread_yield();
     

Modified: xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-imap.c
===================================================================
--- xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-imap.c	2008-08-16 09:53:41 UTC (rev 5253)
+++ xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-imap.c	2008-08-16 10:06:56 UTC (rev 5254)
@@ -1907,16 +1907,12 @@
 {
     XfceMailwatchIMAPMailbox *imailbox = XFCE_MAILWATCH_IMAP_MAILBOX(mailbox);
     
-    if(imailbox->check_id) {
-        g_source_remove(imailbox->check_id);
-        imailbox->check_id = 0;
-    }
-
+    imap_set_activated(mailbox, FALSE);
     g_atomic_int_set(&imailbox->folder_tree_running, FALSE);
+
     while(g_atomic_pointer_get(&imailbox->folder_tree_th))
         g_thread_yield();
 
-    g_atomic_int_set(&imailbox->running, FALSE);
     while(g_atomic_pointer_get(&imailbox->th))
         g_thread_yield();
     

Modified: xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-mbox.c
===================================================================
--- xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-mbox.c	2008-08-16 09:53:41 UTC (rev 5253)
+++ xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-mbox.c	2008-08-16 10:06:56 UTC (rev 5254)
@@ -247,23 +247,6 @@
     return ( (XfceMailwatchMailbox *) mbox );
 }
 
-static void
-mbox_free( XfceMailwatchMailbox *mailbox )
-{
-    XfceMailwatchMboxMailbox    *mbox = XFCE_MAILWATCH_MBOX_MAILBOX( mailbox );
-
-    g_atomic_int_set( &mbox->running, FALSE );
-    while( g_atomic_pointer_get( &mbox->thread ) )
-        g_thread_yield();
-    
-    g_mutex_free( mbox->settings_mutex );
-
-    if ( mbox->fn ) {
-        g_free( mbox->fn );
-    }
-    g_free( mbox );
-}
-
 static GList *
 mbox_save_settings( XfceMailwatchMailbox *mailbox )
 {
@@ -515,6 +498,23 @@
     }
 }
 
+static void
+mbox_free( XfceMailwatchMailbox *mailbox )
+{
+    XfceMailwatchMboxMailbox    *mbox = XFCE_MAILWATCH_MBOX_MAILBOX( mailbox );
+
+    mbox_activate( mailbox, FALSE );
+    while( g_atomic_pointer_get( &mbox->thread ) )
+        g_thread_yield();
+    
+    g_mutex_free( mbox->settings_mutex );
+
+    if ( mbox->fn ) {
+        g_free( mbox->fn );
+    }
+    g_free( mbox );
+}
+
 XfceMailwatchMailboxType    builtin_mailbox_type_mbox = {
     "mbox",
     N_( "Local Mbox spool" ),

Modified: xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-pop3.c
===================================================================
--- xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-pop3.c	2008-08-16 09:53:41 UTC (rev 5253)
+++ xfce4-mailwatch-plugin/trunk/libmailwatch-core/mailwatch-mailbox-pop3.c	2008-08-16 10:06:56 UTC (rev 5254)
@@ -993,8 +993,8 @@
 pop3_mailbox_free(XfceMailwatchMailbox *mailbox)
 {
     XfceMailwatchPOP3Mailbox *pmailbox = XFCE_MAILWATCH_POP3_MAILBOX(mailbox);
-    
-    g_atomic_int_set(&pmailbox->running, FALSE);
+
+    pop3_set_activated(mailbox, FALSE);
     while(g_atomic_pointer_get(&pmailbox->th))
         g_thread_yield();
     




More information about the Goodies-commits mailing list