This is a function introduced in libical 2.0.0, which influences
the way libical timezones are returned. The interoperability mode
means to turn exact timezones off, thus they are returned with
RRULE, intead of "expanded".
Not precisely an issue of the evolution, as it uses to be with workarounds,
but better to catch it here, when it's possible. This avoids crash of
the evolution on quit of the second instance and some critical warnings,
while still not leaking the EShell instance.
When the user calls Quit, the windows are disabled and the Evolution
prepares for quit. In case the quit takes longer than a minute, the user
is asked whether the Evolution should wait for the background tasks to
finish or quit. Sometimes the user wants to quit even earlier, thus let
it do it when it tries to close the window again.
The shell_ready_for_quit() could be called twice, the first time for user-initiated
quit, the second time when the GApplication "shutdown" signal had been invoked. This
invocation had been added recently, to fix memory leaks. While it didn't matter
for desktop environments where the GtkApplication's inhibit/uninhibit didn't work,
it did matter for the GNOME Shell. The second call to shell_ready_for_quit() had been
called inside EShell's finalize, which didn't find the right GtkApplication class (a
NULL had been passed to the function), which caused the crash. The fix is to not call
shell_prepare_for_quit() from within the "shutdown" signal callback when the quit
had been already acknowledged.
The shell creates it on start and unrefs it on its dispose, but
the window is not freed, it's still left in memory. The other parts
are need too, otherwise runtime warnings are shown during the free
of the preferences window.
It adds an icon directory for one of the categories, which not always
works, especially when a translator in the evolution-data-server uses
a different category name translation, than the one from there. It is
better to traverse all categories and add all icon folders into the
search patch for the icon theme.
This could exhibit as a double-prompt whether wants to quit with
pending messages in Outbox, where the second prompt, the one with
the EShellWindow being destroyed, didn't make much sense.
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.
Gtk+ 3.10 has the GtkPaned::handle-size set to 5 pixels, while Gtk+ 3.14
only to 1 pixel, which makes the right side of the EShellSwitcher buttons
look as with no padding on the right.
The Calendar, Memos and Tasks views use to do D-Bus calls to
the backends on the main (UI) thread, which could result in UI
freezes, until the operation was done on the backend (and server)
side. This commit fixes that by invoking the operations in
a dedicated thread. It has few additional advantages too:
- operations can be cancelled
- proper error reporting to a user
- less code duplication between the views for common operations
There had been fixed some performance issues when selecting/unselecting
sources in the source selector as well.
* 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