mirror of
https://gitlab.gnome.org/GNOME/evince
synced 2024-07-05 00:59:07 +00:00
a11y: ensure text cached when you request an EvPageAccessible
https://bugzilla.gnome.org/show_bug.cgi?id=724965
This commit is contained in:
parent
c421a901e6
commit
b5fc924aeb
|
@ -654,3 +654,13 @@ ev_page_cache_get_text_log_attrs (EvPageCache *cache,
|
|||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
ev_page_cache_ensure_page (EvPageCache *cache,
|
||||
gint page)
|
||||
{
|
||||
g_return_if_fail (EV_IS_PAGE_CACHE (cache));
|
||||
g_return_if_fail (page >= 0 && page < cache->n_pages);
|
||||
|
||||
ev_page_cache_schedule_job_if_needed (cache, page);
|
||||
}
|
||||
|
|
|
@ -74,6 +74,8 @@ gboolean ev_page_cache_get_text_log_attrs (EvPageCache *cach
|
|||
gint page,
|
||||
PangoLogAttr **log_attrs,
|
||||
gulong *n_attrs);
|
||||
void ev_page_cache_ensure_page (EvPageCache *cache,
|
||||
gint page);
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* EV_PAGE_CACHE_H */
|
||||
|
|
|
@ -138,11 +138,21 @@ ev_view_accessible_ref_child (AtkObject *obj,
|
|||
gint i)
|
||||
{
|
||||
EvViewAccessible *self;
|
||||
EvView *view;
|
||||
|
||||
g_return_val_if_fail (EV_IS_VIEW_ACCESSIBLE (obj), NULL);
|
||||
self = EV_VIEW_ACCESSIBLE (obj);
|
||||
g_return_val_if_fail (i >= 0 || i < ev_view_accessible_get_n_pages (self), NULL);
|
||||
|
||||
view = EV_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)));
|
||||
if (view == NULL)
|
||||
return NULL;
|
||||
|
||||
/* If a given page is requested, we assume that the text would
|
||||
* be requested soon, so we need to be sure that is cached.*/
|
||||
if (view->page_cache)
|
||||
ev_page_cache_ensure_page (view->page_cache, i);
|
||||
|
||||
return g_object_ref (g_ptr_array_index (self->priv->children, i));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user