diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 12 | ||||
-rw-r--r-- | mail/mail-mt.c | 12 | ||||
-rw-r--r-- | mail/mail-mt.h | 5 |
3 files changed, 29 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 9512726bbb..3c7466a81f 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,15 @@ +2006-10-16 Tor Lillqvist <tml@novell.com> + + Fix for #348212: + + * mail-mt.h: On Win32 we don't want to use the mail_thread_queued + variable outside the libevolution-mail DLL, but instead access its + value through a getter function. + + * mail-mt.c: Make mail_thread_queued static on Win32. + (mail_win32_get_mail_thread_queued): New function that returns the + value of mail_thread_queued. + 2006-10-16 Chris Heath <chris@heathens.co.nz> * mail-component.c (create_local_item_cb): Fix memory leak. diff --git a/mail/mail-mt.c b/mail/mail-mt.c index f9375bf02b..3b77496d07 100644 --- a/mail/mail-mt.c +++ b/mail/mail-mt.c @@ -433,10 +433,22 @@ EMsgPort *mail_gui_reply_port; static GIOChannel *mail_gui_reply_channel; /* a couple of global threads available */ +#ifdef G_OS_WIN32 +#undef mail_thread_queued +static +#endif EThread *mail_thread_queued; /* for operations that can (or should) be queued */ EThread *mail_thread_queued_slow; /* for operations that can (or should) be queued, but take a long time */ EThread *mail_thread_new; /* for operations that should run in a new thread each time */ +#ifdef G_OS_WIN32 +EThread * +mail_win32_get_mail_thread_queued (void) +{ + return mail_thread_queued; +} +#endif + static gboolean mail_msgport_replied(GIOChannel *source, GIOCondition cond, void *d) { diff --git a/mail/mail-mt.h b/mail/mail-mt.h index f018fd337c..99893cce26 100644 --- a/mail/mail-mt.h +++ b/mail/mail-mt.h @@ -118,7 +118,12 @@ extern EMsgPort *mail_gui_port; extern EMsgPort *mail_gui_reply_port; /* some globally available threads */ +#ifndef G_OS_WIN32 extern EThread *mail_thread_queued; /* for operations that can (or should) be queued */ +#else +EThread *mail_win32_get_mail_thread_queued (void); +#define mail_thread_queued mail_win32_get_mail_thread_queued () +#endif extern EThread *mail_thread_new; /* for operations that should run in a new thread each time */ extern EThread *mail_thread_queued_slow; /* for operations that can (or should) be queued, but take a long time */ |