From: Carlos Garcia Campos Date: Sat, 12 Dec 2009 15:22:10 +0000 (+0100) Subject: Update page action when entry text changes but not current page X-Git-Tag: EVINCE_2_29_4~20 X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=33d769c7d07e419cac3ab7b7febe98f2c12e2ecf;p=evince.git Update page action when entry text changes but not current page That happens when user types and invalid page or current page. Fixes bgo#603714. --- diff --git a/libmisc/ev-page-action-widget.c b/libmisc/ev-page-action-widget.c index 2b29e785..a3551871 100644 --- a/libmisc/ev-page-action-widget.c +++ b/libmisc/ev-page-action-widget.c @@ -132,6 +132,10 @@ activate_cb (EvPageActionWidget *action_widget) EvLinkAction *link_action; EvLink *link; gchar *link_text; + gint current_page; + + model = action_widget->doc_model; + current_page = ev_document_model_get_page (model); text = gtk_entry_get_text (GTK_ENTRY (action_widget->entry)); @@ -145,14 +149,8 @@ activate_cb (EvPageActionWidget *action_widget) g_object_unref (link); g_free (link_text); - /* rest the entry to the current page if we were unable to - * change it */ - model = action_widget->doc_model; - page_label = ev_document_get_page_label (action_widget->document, - ev_document_model_get_page (model)); - gtk_entry_set_text (GTK_ENTRY (action_widget->entry), page_label); - gtk_editable_set_position (GTK_EDITABLE (action_widget->entry), -1); - g_free (page_label); + if (current_page == ev_document_model_get_page (model)) + ev_page_action_widget_set_current_page (action_widget, current_page); } static void