diff options
author | Christoph Fritz <[email protected]> | 2021-03-08 13:54:39 +0100 |
---|---|---|
committer | raveit65 <[email protected]> | 2021-06-15 20:10:04 +0200 |
commit | 50d0b23c608020dd1da3fb3e13883941182ec89e (patch) | |
tree | b4e92acb4becea0bd83c41eed2af0ee217fb3ad2 /libdocument | |
parent | ae1c8e7e9e881022bbad8da68b3efcee10268ed0 (diff) | |
download | atril-50d0b23c608020dd1da3fb3e13883941182ec89e.tar.bz2 atril-50d0b23c608020dd1da3fb3e13883941182ec89e.tar.xz |
ev-sidebar-links: Optimize reverse link lookup for a page
Commit adapted for atril, picked up from:
https://gitlab.gnome.org/GNOME/evince/-/commit/c3de8e75d6d0920478af210ba19a2d94b0734917
Credits to Benjamin Berg <[email protected]>
| For large documents the linear search for the first link that is on a
| certain page is really slow. Because of this scrolling becomes slow
| whenever the page changes.
|
| Replace the linear search with a search in a binary tree populated with
| the first link on each page and the corresponding GtkTreePath. This way
| a specialized binary tree lookup can be used to find the closest
| matching link and select that in the treeview.
|
| https://bugzilla.gnome.org/show_bug.cgi?id=779614
Diffstat (limited to 'libdocument')
0 files changed, 0 insertions, 0 deletions