1
0
mirror of https://gitlab.gnome.org/GNOME/evince synced 2024-07-05 00:59:07 +00:00
Commit Graph

8513 Commits

Author SHA1 Message Date
Vasily Galkin
c3c1fcd761 get_match_offset(): ignore areas with center outside of match
Find sidebar implementation of evince uses "reconstruction"
of found letters by comparing geometrical position of match and letters
in get_match_offset method.

Before this change the only criteria for search was
"beginning of the match is inside letter (area)".
However, for pdfs containing letters that are much bigger than found
(huge labels over content, like watermarks) those huge letters passed
criteria and were incorrectly displayed in find sidebar.

With current architecture this problem can't be solved for 100% cases,
but can be hugely improved.

This commit adds extra check that center of a letter is inside the match,
this fixes a huge percent of huge letters incorrectly passing criteria.

See MR !372 for more info and testing file.
2021-12-14 13:56:55 +00:00
Christian Persch
afd3383648 pdf: Fix dispose implementation
Dispose must be safe against multiple runs, so set pointers to NULL
after freeing them.
2021-12-14 13:43:59 +00:00
Quentin PAGÈS
4f7fc7443a Update Occitan translation 2021-12-11 22:59:19 +00:00
Gianvito Cavasoli
4301494c1c Update Italian translation
(cherry picked from commit 6f7bcbcbec)
2021-12-08 09:45:27 +00:00
Hugo Carvalho
45fcc74b84 Update Portuguese translation 2021-12-03 16:49:39 +00:00
Yuri Chornoivan
8baf312286 Update Ukrainian translation 2021-12-03 15:34:44 +00:00
r-value
1060b24d05 Remove incorrect args for i18n.merge_file
`i18n.merge_file` has been ignoring positional arguments for
a time and explicitly rejects with error since meson 0.60.0
2021-12-03 01:31:55 +00:00
Marek Kasik
8f7a7a1477 libview: Do not draw invalid surface
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>.
2021-12-02 23:24:55 +00:00
Germán Poo-Caamaño
74ba6d7008 gitlab-ci: Install dependencies for gi-docgen
* Install python packages required by gi-docgen
2021-12-02 19:20:57 -03:00
Germán Poo-Caamaño
a3912a0086 backends: Use C99 types for uint family types
* Fix deprecation warnings
2021-12-02 21:57:09 +00:00
Christian Persch
1e0a3efa24 libdocument: Move GDateTime members to the extended struct
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
2021-12-02 18:35:18 +01:00
Christian Persch
8cd939fa58 libdocument: Make EvDocumentInfo extensible
Add a EvDocumentInfoExtended, and add ev_document_info_new() for use by
backends.
2021-12-02 18:35:18 +01:00
Christian Persch
6a9cd96802 libdocument: Move EvDocumentInfo to its own file
Move EvDocumentInfo and EvDocumentLicense into ev-document-info.c,
and add missing docs.
i
2021-12-02 18:35:18 +01:00
Christian Persch
6d5c94ee99 libview: Fix volatile misuse
Remove an incorrect/extraneous 'volatile', fixing a build warning about
incompatible pointer types with g_atomic_pointer_get().
2021-12-01 21:31:36 +01:00
Christian Persch
b80ad518df build: Use symbol visibility to hide symbols in the nautilus module
Use the visibility attribute to hide all symbols from private
convenience static libraries used in the backends.
2021-12-01 16:51:33 +01:00
Christian Persch
b30057993e build: Use symbol visibility to hide symbols in private libs
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.
2021-12-01 16:51:33 +01:00
Christian Persch
7fe031f2b2 backends: Use symbol visibility for exported symbols
Instead of using a symbol file, use the visibility attribute to export only
the public API entry point.
2021-12-01 16:51:33 +01:00
Christian Persch
8ac25ff55e libview: Use symbol visibility for exported symbols
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.
2021-12-01 16:51:33 +01:00
Christian Persch
40f495fbe2 libview: ev-view-cursor.h private to libview 2021-12-01 16:51:33 +01:00
Christian Persch
565be9b044 libview: EvPixbufCache is private to libview 2021-12-01 16:51:33 +01:00
Christian Persch
024d912682 libview: EvPageCache is private to libview
... so don't add it to the public API documentation.
2021-12-01 16:51:33 +01:00
Christian Persch
97a8f67a8c libview: EvAnnotationWindow is private to libview
... so don't add it to the public API documentation.
2021-12-01 16:51:33 +01:00
Christian Persch
d9134ec555 libdocument: Sort evince-document.h includes 2021-12-01 16:51:33 +01:00
Christian Persch
802ef2ecc0 libdocument: Don't install private headers
Some private headers were mistakenly installed into the public include
directory.
2021-12-01 16:51:33 +01:00
Christian Persch
db2425ac86 libdocument: Use symbol visibility for exported symbols
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.
2021-12-01 16:51:33 +01:00
Christian Persch
16c94dd3ad libdocument: Add missing headers to evince-document.h
It should include *all* public headers directly.
2021-12-01 16:51:33 +01:00
Christian Persch
c2c24b68da libview: Fix critial warnings when destroying EvPageAccessible
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
2021-12-01 00:26:58 +00:00
Alex Xu (Hello71)
8534d1c211 build: stop checking for execinfo.h
since 13a0634925 in 2007, execinfo.h is no
longer used in the code. therefore it is not necessary to check it
anymore.
2021-12-01 00:04:14 +00:00
Germán Poo-Caamaño
eb18290336 libview: Fix gobject-introspection deprecation warning
* Use annotations on the identifier instead of Gtk-Doc tag to rename
  function
2021-11-30 20:55:29 -03:00
Christian Persch
bc595ce828 build: Fix dependency tracking
The executables must declare their dependency on
libevdocument/libevview, so that a rebuild works correctly.
2021-11-30 22:16:19 +00:00
Christian Persch
7b1d8b0354 build: Remove cruft
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.
2021-11-30 22:16:19 +00:00
Christian Persch
abb4433981 libview: Fix volatile misuse 2021-11-30 22:08:51 +00:00
Christian Persch
fb03cdbda1 libdocument: Fix volatile misuse 2021-11-30 22:08:51 +00:00
Christian Persch
69cc3cfd73 build: Silence deprecated declarations warnings
It's simply too much noise.
2021-11-30 22:08:51 +00:00
Bastien Nocera
7e2835be32 unarr: Update LZMA SDK
Using lzma2106.7z from:
https://sourceforge.net/projects/sevenzip/files/LZMA%20SDK/
2021-11-29 10:31:30 +01:00
Daniel Mustieles
47bca3cda2 Updated Spanish translation 2021-11-26 17:41:56 +01:00
Fabio Tomat
a8a5ba088c Update Friulian translation 2021-11-22 14:34:12 +00:00
Bastien Nocera
c1c1854336 unarr: Update LZMA SDK
Using lzma2104.7z from:
https://sourceforge.net/projects/sevenzip/files/LZMA%20SDK/
2021-11-19 19:53:46 +01:00
Bastien Nocera
a9f6bb7455 unarr: Update LZMA SDK
Using lzma2103.7z from:
https://sourceforge.net/projects/sevenzip/files/LZMA%20SDK/
2021-11-19 19:50:03 +01:00
MohammadSaleh Kamyab
194fe9fe4b Update Persian translation 2021-11-19 13:57:38 +00:00
Quentin PAGÈS
e6f5dc2e10 Update Occitan translation 2021-11-18 19:45:03 +00:00
Christian Persch
6afe1b98e3 shell: Fix critical on startup
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.
2021-11-12 23:59:34 +01:00
Goran Vidović
520717e133 Update Croatian translation 2021-11-12 11:44:31 +00:00
Yaron Shahrabani
a1435ddaf2 Update Hebrew translation 2021-11-11 22:45:31 +00:00
Hugo Carvalho
7c0a22dabc Update Portuguese translation 2021-11-07 21:58:48 +00:00
Quentin PAGÈS
6931b9786a Update Occitan translation 2021-11-07 19:33:04 +00:00
Fabio Tomat
fc3599bbc1 Update Friulian translation 2021-11-07 17:17:30 +00:00
Ask Hjorth Larsen
2e227f077c Update Danish translation 2021-11-06 18:46:10 +00:00
Yuri Chornoivan
8a9ab3239f Update Ukrainian translation 2021-11-05 19:13:25 +00:00
Rūdolfs Mazurs
69cb04e168 Update Latvian translation
(cherry picked from commit 2a9e681d81)
2021-10-27 15:42:44 +00:00