The previous change missed a fact that the EActionComboBox is used on
various places where always-enabled ellipsizing can cause issues, like
in the composer, where the combox of the message format and the paragraph
mode always used minimum size, thus made those unreadable. This change
enables ellipsizing in the EActionComboBox on demand, with the default
to not ellipsize, which keeps the behavior as before the change for
all but the search bar.
When Evolution detected that the window width would be larger than
screen width it hid the Show combo box to avoid the window oversize,
but users do use this combo for filtering, thus it was not ideal.
Rather than hiding anything, make the combo box texts ellipsizable,
which can save plenty of space without hiding any widget.
Reported downstream at:
https://bugzilla.redhat.com/show_bug.cgi?id=1678253
Collection sources often access the same server, thus can have
the same SSL trust settings, which are inherited from the collection
source to the child sources when the child source is created for
the first time. There is no need to ask for a trust prompt with
every single child source when it accesses the same server, thus
this change propagates SSL trust into the collection source and
its children after user responses to it.
Both middle-click and Shift+left-click open a new window when
pressed on the switcher button. The Shift+left-click had been
added for consistency with other applications.
Requested downstream at:
https://bugzilla.redhat.com/show_bug.cgi?id=1308665
There had already been a workaround for EClientCache, which proved
to be sub-optimal, and it can strike on more places, thus better
to load the extension modules before EShell is created.
There could happen crashes in libxml2 when being used for the first
time in multiple threads at once, like with xmlFindCharEncodingHandler()
function. This and some others require initialization in the main thread.
One example of such crash can be found in a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=1380268
Most of the EAlertSink implementors use EAlertBar to present those
alerts and all of these had almost identical code to deal with it.
The added function is for these implementations to share the code.
That was a memory leak, but apart of that it could also cause use-after-free
crash in gtk_widget_get_scale_factor() under _gtk_style_cascade_add_provider()
called from shell_window_constructed(), when creating a new shell window
for the second time, with the previous one already closed.
The SIGQUIT behaves like a crash and coredump can be stored even though
it's not a real crash. The factories and other tools handle SIGTERM gracefully,
thus it's the right signal to use, not SIGQUIT.
That way only if the environment variable is not set is populated
with preferred value by the Evolution, thus users can try whether
certain WebKitGTK+ version behaves better without a need to recompile
the evolution.
Disable the accelerated compositing mode in WebKitGTK+ as we don't need
it at all in Evolution (definitely not in composer, but right now
disable it even for preview) and for some video drivers like vboxvideo
and modesetting there is a big performance hit.
The former claim a compile-time warning, but sets the 'error' on failure,
the later doesn't claim a compile-time warning, but does not set the 'error'
on failure. Using the return value of both functions fixes two things at once.