[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