From f8bc3fa4d54088c418d776e6b48f268d0398c57d Mon Sep 17 00:00:00 2001 From: Antia Puentes Date: Wed, 17 Jul 2013 16:04:06 +0200 Subject: ev-view-accessible: Fix ev_view_accesssible_get_n_selections Return 1 when there's selected text since evince only supports one selection, and 0 if there isn't selected text. https://bugzilla.gnome.org/show_bug.cgi?id=704396 origin commit: https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=3a9d081 --- libview/ev-view-accessible.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'libview/ev-view-accessible.c') diff --git a/libview/ev-view-accessible.c b/libview/ev-view-accessible.c index 5a9ba432..81fcc797 100644 --- a/libview/ev-view-accessible.c +++ b/libview/ev-view-accessible.c @@ -612,27 +612,18 @@ static gint ev_view_accessible_get_n_selections (AtkText *text) { GtkWidget *widget; - GtkTextBuffer *buffer; - GtkTextIter start, end; - gint select_start, select_end; + EvView *view; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return -1; - buffer = ev_view_accessible_get_text_buffer (EV_VIEW_ACCESSIBLE (text), EV_VIEW (widget)); - if (!buffer) - return -1; - - gtk_text_buffer_get_selection_bounds (buffer, &start, &end); - select_start = gtk_text_iter_get_offset (&start); - select_end = gtk_text_iter_get_offset (&end); - - if (select_start != select_end) - return 1; - else + view = EV_VIEW (widget); + if (!EV_IS_SELECTION (view->document) || !view->selection_info.selections) return 0; + + return 1; } static gchar * -- cgit v1.2.1