Discovered a few binding problems while working on another issue,
in particular gmime_parser_construct_message()'s return object
not being freed, which can hold an entire message (attachments and
all) in memory.
WebKitGTK 2.4 will introduce using GClosure to register
DOM.EventTarget listeners, but old API still available, so using
that for now.
This also introduces compiling WebKit-3.0.gir to a VAPI and using
that during compilation. This means that .gir warnings won't
cause compilation errors (--fatal-warnings) and that we have a bit
more control over binding generation. Closes bgno#720442.
We've had numerous bugs due to improper MIME comparisons and dealing
with Content-Type and Content-Disposition (or their lack of presence
in a message). Now the Engine offers MIME classes that better deal
with these issues without exporting the GMime structures, which
are not as easy to manage and don't offer some of the things that
have bitten us in the past (such as case-insensitive comparisons).
Two problems:
(a) Vala 0.22.1 fixes a binding change in libnotify
that has to be fixed but causes Geary to be unable to build on prior
versions of Vala. libnotify.vapi added to solve this problem.
(b) New version of Vala appears to be more sensitive to detecting
problems in .gir files. Using our .metadata file to paper over these
issues in WebKit-3.0.gir.
Geary will autodetect which version of the library is installed
and select the appropriate .metadata file to use for bindings.
Still backwards-compatible with Geary 1.10 to 2.0.
Squashed commit of the following:
commit 6e066374da45dd602ee1ca3c9bc5f77b9411b6f4
Author: Eric Gregory <eric@yorba.org>
Date: Tue Jan 15 11:36:32 2013 -0800
Closes#6209 Precise support for GIR WebKitGTK binding. Rolls back to deprecated context menu in composer for compatibility with WebKitGTK 1.8