aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog12
-rw-r--r--mail/mail-mt.c12
-rw-r--r--mail/mail-mt.h5
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 */