When I wrote e_load_cal_source_async() it didn't occur to me that a
calendar backend may emit "auth-required" after the initial connection
attempt. And because I was passing the allocated context data for the
asynchronous load operation to e_cal_set_auth_func(), meaning the data
gets freed at the end of the load operation, I was then calling
e_cal_set_auth_func(cal, NULL, NULL) after the initial authentication
was complete so that the ECal would not try to access the freed context
data after the load operation finished.
But that turned out to break the case of switching to offline mode, then
back to online mode. Most calendar backends need to re-authenticate when
they come back online.
This commit instead passes data to the authentication function by way of
g_object_set_data_full() so that the authentication function can be left
in place for the duration of the ECal instance.
Note that e_cal_set_auth_func() lacks a GDestroyNotify argument for the
user data passed to it, which rules out passing any kind of allocated
data structure. This is an API design flaw, in my opinion. But
g_object_set_data_full() *does* take a GDestroyNotify argument.
Some kind of object lifetime issue in GalA11yETableItem. Just work
around it for now. Killing this class would pretty much mean killing
a11y support for ETables entirely and I'm not that pissed off... yet.
It shouldn't be needed for plugins that live in the evolution source tree anyway
since they should just use the translation domain they inherit from main().
This plugin was for developers, but no one uses it anymore. Plus the
only profiling hooks left in Evolution were in the MessageList widget,
which performs fine. There's better ways to collect profiling data
these days anyway (sysprof, systemtap, etc.).
With lockdown settings available through GSettings, widgets can handle
lockdown integration themselves without having to use EShellSettings.
Also fixed a few places where printing or save-to-disk actions were
either not properly wired up or not responding to lockdown settings,
but much more work needs done. Attachments, for example, are not
honoring the disable-save-to-disk setting at all.
This too requires the recently-added gsettings-desktop-schemas
dependency.
This adds a dependency on gsettings-desktop-schemas >= 2.91.92.
The version was chosen for the change from "picture-filename" to
"picture-uri" in the "org.gnome.desktop.background" schema.
Also, we now save the background image under ~/Pictures since the old
directory (~/.gnome2/wallpapers) is presumed deprecated in GNOME 3.