Fail the render job if the surface is in error state. This prevents
the failure of the render job leaking out to failing to render the
evince UI.
Based on a patch by Marek Kasik <mkasik@redhat.com>.
Commit ed1e94af introduced an unintentional API and ABI break by
changing the creation_date and modified_date members of EvDocumentInfo
from GTime to GDateTime*.
Revert this API/ABI break by adding the created and modified GDateTime
members to EvDocumentInfoExtended, and add public getters and
backend-private setters.
Make the PDF backend set these, and adjust the properties view to use
the new accessor functions.
Fixes: https://gitlab.gnome.org/GNOME/evince/-/issues/1711
Use the visibility attribute to hide all symbols from private
convenience static libraries used in the backends.
This removes lots of accidentally exposed, private functions.
Use the newly added EV_PUBLIC macro to explicitly mark symbols to be
exported, instead of exporting everything starting with "ev_".
This removes lots of accidentally exposed, private functions. Since
those are not contained in public installed headers, this should be ok.
Add EV_PUBLIC define that uses the visibility attribute to make a symbol
public, and use this to mark exported symbols, instead of exporting
every symbol starting with "ev_", to make sure only symbols actually
intended to be public are exported.
Also add EV_PRIVATE define as an alias for EV_PUBLIC to mark symbols
that are nominally public because they are needed from libview/ or
shell/, but are not actually public API.
Only clear priv->links when it's not NULL. This fixes lots of warnings
when closing the previewer window on a document with links:
GLib-CRITICAL **: 23:46:34.810: g_hash_table_remove_all: assertion 'hash_table != NULL' failed
GLib-CRITICAL **: 23:46:34.810: g_hash_table_destroy: assertion 'hash_table != NULL' failed
The shell code is not an installed shared library, so it has no use for
a reference documentation. Since also this documentation hasn't been
updated in forever, and is the only reason shell/meson.build creates a
'libshell' shared library (which the next commit is going to remove),
let's remove this extraneous directory.
Only destroy the popup if it exists. Fixes a critial warning on startup:
Gtk-CRITICAL **: 22:18:32.672: gtk_widget_destroy: assertion 'GTK_IS_WIDGET (widget)' failed
Fixes regression added in commit 2bfe441dc5.