Declaring the CamelStore column as a raw pointer type dates back to
before Camel was GObject-based. The problem is the CamelStore could
be finalized while the tree model still has a pointer to it, leaving
behind dangling pointers in the tree model which could cause a crash.
Declaring the column type in the column enum turned out to be a good
idea, as it makes code that needs updated easy to find. This renames
the enum value from COL_POINTER_CAMEL_STORE to COL_OBJECT_CAMEL_STORE.
This makes the code free of Coverity scan issues.
It is sometimes quite pedantic and expects/suggests some
coding habits, thus certain changes may look weird, but for a good
thing, I hope. The code is also tagged with Coverity scan
suppressions, to keep the code as is and hide the warning too.
Also note that Coverity treats g_return_if_fail(), g_assert() and
similar macros as unreliable, and it's true these can be disabled
during the compile time, thus it brings in other set of 'weird'
changes.
This is only a partial solution for the test case the bug report.
The message/news part of the test case is also Base64-encoded, but
Evolution (or Camel) is not decoding it properly. Still digging.
webkit_dom_element_get_id() was introduced for WebKitGTK+ 2.2 and
deprecates webkit_dom_html_element_get_id(). But Evolution only
requires WebKitGTK+ 2.0.1.
Ordinarily this would sit on a shelf until we require WebKitGTK+ 2.2,
however WebKitGTK+ has now started issuing deprecation warnings about
webkit_dom_html_element_get_id() at *runtime*, which is pointless and
only fills up users' .xsession-errors file.
To put a stop to this, we'll call the new function subject to a pre-
processor WebKit version check, with a fallback to the old function.
The build requirement remains at WebKitGTK+ 2.0.1.
Between 2.0.0 and 2.0.1, webkit_dom_html_style_element_get_sheet()
silently changed from returning a WebKitDOMStyleSheet to returning
a WebKitDOMCSSStyleSheet.
EWebView already depends on this newer behavior, which effectively means
Evolution's WebKitGTK+ dependency is already 2.0.1 or later. Update the
minimum webkitgtk-3.0 requirement in configure.ac to reflect this.
WebKitGTK+ 1.10 is old enough now that the bump should not be an issue.
ChamplainLabel does everything we need now. Need to stash a contact UID
for opening the Contact Editor on double-click, but not worth a subclass
for just that.
If sending a message fails but the user was already connected to the
MTA, the error is missed and not handled until further into the logic,
where it's treated as though sending succeeded and only post-processing
failed. This results in the user seeing a copy of the message in Sent,
but the message was never actually sent.
Fallout from the investigation of bug 710807.
Instead of wrapping the searchbar for small screens (which looks ugly
and breaks the initial window size on large screens), hide the filter
combo box in views that would otherwise be too wide for the screen.
There's no loss of functionality when hiding the filter combo box.
It's just a set of convenient pre-defined searches, all of which can
be reproduced through the Advanced Search interface.
New functions:
e_shell_searchbar_get_filter_visible()
e_shell_searchbar_set_filter_visible()