The problem is that if we call webkit_dom_event_target_add_event_listener
on the element and unref it afterwards (even when we get that element
from WebKitDOMNodeList) the callback won't be called at all.
Follow-up fix that fixes the leak of two strings introduced with
previous fix to this bug. Also unref all the used objects from various
lists that WebKit returns after they are used.
Since this change the client is responsible to provide credentials
to use to authenticate backends (through ESource-s, to be more precise),
unless the credentials are already saved.
A simple Evolution run and move between all views means creation of
more than 100 GSettings objects, with only a bit more than 10 schemas.
Reusing the objects should have a positive impact on a performance too.
Also build dependencies at the same directory as evolution files
and build 'master' configuration by default (it used to build 'stable'
configuration instead).
* use e_util_win32_initialize() in main() to avoid code duplication
* e-spinner - correct image path build under win32
* export WIN32_SERVICELIBEXECDIR when building eds, which relies on it now
* update D-Bus patch and session-local.conf creation, thus D-Bus
can actually autostart services
The EContactEditor added a signal handler to "editor_closed" to
close also a full name editor, but it did not remove the signal
handler on full name editor's destroy, thus the callback was called
on an already freed widget, which could cause a crash.
This had been reported at:
https://bugzilla.redhat.com/show_bug.cgi?id=1128745
This makes evolution depend on theme-defined named colors, namely:
theme_bg_color
theme_base_color
theme_fg_color
theme_text_color
theme_selected_bg_color
theme_selected_fg_color
theme_unfocused_selected_bg_color
theme_unfocused_selected_fg_color
If it's not defined, then a fallback color is used, in the worse case
one of the fallbacks defined in evolution itself.
This is related to bug 698275, which did not cover all cases.
The problem here is that the dconf can in certain situation claim
that everything changed (path "/" changed), which GSettingsBinding
propagates to a GObject property unconditionally and GObject's
property setter (g_object_set_property()) also notifies about
the property change unconditionally, despite the real descendant
property setter properly checks for the value change. After all
these false notifications a callback on "notify" signal is called
and possibly an expensive operation is run.
Checking whether the value really changed helps in performance, for
which were added new e-util functions:
e_signal_connect_notify()
e_signal_connect_notify_after()
e_signal_connect_notify_swapped()
e_signal_connect_notify_object()
which have the same prototype as their GLib counterparts, but they allow
only "notify::..." signals and they test whether the value really changed
before they call the registered callback.
Recent changes in commit c2de408736 introduced a regression
in preselected widget after editor open, it was 'e-mail', instead
of 'fullname' after that commit. The focus changes when the dyntable
was updating maximum allowed entries in itself.
This change does a bit more, actually:
- learn the code of "tel" URI, being handler similar to "sip", "callto", "h323"
- generate tel: URIs for phone numbers, but only if the leading character of the
phone number is a plus ("+") sign
- always remove spaces in href part in the e_text_to_html() when
E_TEXT_TO_HTML_URL_IS_WHOLE_TEXT flag is set
Due to made widget changes in fill_in_all() the focus can change
from the full name entry elsewhere. Remembering focused widget and
restoring it at the end of the function makes the editor being
opened with full name entry instead, as expected.
Locally stored photos were shown as a "missing image" instead of the actual
photo for cases when the URL contained special characters which required to be
encoded in the URL. This effectively updates commit 255e052904,
to check WebKit version for the unescape, because WebKit 2.2.5 (which I currently use)
doesn't re-escape the URIs. Maybe earlier versions of the WebKit do the same.
Win32 headers have a #define for 'interface', which breaks the build
when this word is used in the code, thus replace it to 'iface',
the same way as GLib or GTK+ code use to have it. (See bug #722068.)