Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--shell/ev-window.c7
2 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 96b49e4..8910785 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2006-01-06 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+ * shell/ev-window.c: (setup_document_from_metadata),
+ (ev_window_cmd_view_reload):
+
+ Clamp page recieved from metadata in valid values. Fix
+ for the bug #325986.
+
+2006-01-06 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+
* MAINTAINERS:
Add MAINTAINERS as requested on desktop-devel-list.
diff --git a/shell/ev-window.c b/shell/ev-window.c
index fe2d0a8..15d671f 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -625,11 +625,12 @@ setup_document_from_metadata (EvWindow *window)
{
char *uri = window->priv->uri;
GValue page = { 0, };
+ gint new_page;
- /* Page */
if (uri && ev_metadata_manager_get (uri, "page", &page, TRUE)) {
+ new_page = CLAMP (g_value_get_int (&page), 0, ev_page_cache_get_n_pages (window->priv->page_cache) - 1);
ev_page_cache_set_current_page (window->priv->page_cache,
- g_value_get_int (&page));
+ new_page);
}
}
@@ -2089,7 +2090,7 @@ ev_window_cmd_view_reload (GtkAction *action, EvWindow *ev_window)
ev_window_open_uri (ev_window, uri);
/* In case the number of pages in the document has changed. */
- page = CLAMP (page, 0, ev_page_cache_get_n_pages (ev_window->priv->page_cache));
+ page = CLAMP (page, 0, ev_page_cache_get_n_pages (ev_window->priv->page_cache) - 1);
ev_page_cache_set_current_page (ev_window->priv->page_cache, page);