Calling camel_session_remove_services() while disposing of our
CamelSession instance can help break reference cycles and ensures
the CamelServices get finalized properly.
References to EMailSession are leaking like crazy, so the module's
finalize() method never gets called, and we never kill our spamd.
Until I can track down all the reference leaks, kill the spamd process
in response to a "EShell::prepare-for-quit" signal instead of from the
module's finalize() method. (Maybe that's a better long-term solution
anyway?)
We now have a proper junk mail filtering API. All junk filtering
extensions must subclass EMailJunkFilter for user preferences and
availability testing, and implement the CamelJunkFilter interface
for the actual junk filtering and learning operations.
The bogofilter module should be feature-equivalent to its former
EPlugin. The spamassassin module is far more complex. It's nearly
feature-equivalent to its former EPlugin, but I ditched the spamd
respawning code since it seemed unnecessary for a mail client to
have to deal with. If there's a huge outcry from users about it
I'll reluctantly put it back, but I don't expect one.
This gets us a step closer to killing off EConfig, and eventually
the EPlugin framework itself.
Move the "$host" down when $host is actually set (that is after
AC_CANONICAL_HOST).
Don't set DL_LIB to libdl which is not available on OpenBSD/FreeBSD and
set NO_UNDEFINED to null.
https://bugzilla.gnome.org/show_bug.cgi?id=654478
A signal handler connected to an EFilterRule was passing a GtkDialog
instance as the closure. Eventually, the GtkDialog is destroyed but
we never disconnected the signal handler.
synth_crossing() in gtkwidget.c does not set valid pointer coordinates,
but GnomeCanvas relies on these coordinates to figure out what canvas
item the event applies to.
Detect these synthesized GDK_ENTER_NOTIFY and GDK_LEAVE_NOTIFY events
and disregard them.
This was breaking drag-and-drop of EMinicards and probably elsewhere.
We track Evolution's online state separately from network availability
these days. I think there was still logic here from when we set online
state directly. Don't lie about network availability.