summaryrefslogtreecommitdiff
path: root/libview/ev-view-accessible.c
diff options
context:
space:
mode:
Diffstat (limited to 'libview/ev-view-accessible.c')
-rw-r--r--libview/ev-view-accessible.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libview/ev-view-accessible.c b/libview/ev-view-accessible.c
index ae55ddd4..2932c5e1 100644
--- a/libview/ev-view-accessible.c
+++ b/libview/ev-view-accessible.c
@@ -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));
}