* configure: Allow specifying a custom valadoc executable.
* src/CMakeLists.txt: Tidy up valadoc command, include dependencies when
in generated HTML output, enable warnings.
* src/engine/api/geary.vala: Provide boilerplate doc comment for the
Geary namespace.
* src/engine/api/geary-email.vala, src/engine/rfc822/rfc822.vala: Don't
use single-line doc comments, valadoc doesn't support them (see Bug
736483).
* src/engine/api/geary-folder-path.vala: Fix errors reported by valadoc.
This disables SSLv3 in GnuTLS (and therefore WebKit) to avoid
susceptibility to the POODLE attack vector. This is an extremely
unlikely vector for Geary as Javascript is disabled for all WebKit
views.
Unity doesn't deal well with pure GtkHeaderBar apps, so this allows
for the GtkHeaderBar to be treated like a toolbar and the window
retain its chrome.
The gnome-doc-utils dependency is problematic for gnome-continuous.
This adds a configure switch --disable-documentation that turns off
generating and installing the translated help, which is the only thing
that requires xml2po and thus gnome-doc-utils.
Closes: bgo #726585
We recognize the VALAC environment variable, or you can specify
VALAC=whatever on the ./configure command line.
Also, this cleans up some of the configure logic to be a little easier
to read and edit.
This patch solves the following memory/resource leak problems:
(a) Gee.TreeSet doesn't drop references when destroyed. Fixed by
using a subclass that clears the set when destroyed (exactly same
as patch made to Gee, however that won't be in distribution for
awhile.)
(b) Imap.ClientSession was holding refs to CommandResponses after
they'd been completed. They're now dropped.
(c) Imap.ClientSessionManager now has an open/close_async() (called
by Imap.Account.open/close_async()) that drops all ClientSessions.
(d) All classes in Engine (and some in the client) use Geary.BaseObject,
which uses a static map to track outstanding held references to
it. The table is dumped when Geary exits. Must be enabled with a
./configure flag.
Two outstanding memory leaks persist (one for Imap.ResponseCodes and
another when messages are selected/deselected), so this doesn't close
the ticket, but testing and use has shown these changes to make a huge
improvement on memory usage and reducing crashes.
libindicate is supported in this patch (with some framework in place
to support others, such as libmessagingmenu if/when it comes down
the pipe). libindicate support must be configured with a ./configure
switch (which is one-half of #5607) and is off by default.
Note that this patch does not fully implement our design spec for
how new messages are cleared due to user interaction. That is
covered by #5669.
This introduces a configure script that automates the basic task
of setting up a CMake build directory. It also uses a top-level
Makefile (which the configure script generates, to prevent running
it until configure has executed) which does the build and copies
the final executables into the root of the source tree.