diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | shell/ev-window.c | 20 |
2 files changed, 27 insertions, 4 deletions
@@ -1,4 +1,11 @@ -2007-03-08 Carlos Garcia Campos <carlosgc@gnome.org> +2007-04-10 Nickolay V. Shmyrev <nshmyrev@yandex.ru> + + * shell/ev-window.c: (setup_size_from_metadata): + + Do not make window bigger than screen. Fixes bug + #388985. + +2007-04-08 Carlos Garcia Campos <carlosgc@gnome.org> * backend/tiff/tiff-document.c: (tiff_document_get_resolution), (tiff_document_get_page_size), (tiff_document_render_pixbuf): @@ -6,7 +13,7 @@ Use default resolution when it's not provided by document. Fixes bug #408762. -2007-03-08 Carlos Garcia Campos <carlosgc@gnome.org> +2007-04-08 Carlos Garcia Campos <carlosgc@gnome.org> * configure.ac: * thumbnailer/Makefile.am: diff --git a/shell/ev-window.c b/shell/ev-window.c index fe82fc8..7e9200c 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -900,8 +900,14 @@ setup_size_from_metadata (EvWindow *window) if (window->priv->page_cache && ev_metadata_manager_get (uri, "window_width_ratio", &width_ratio, FALSE) && ev_metadata_manager_get (uri, "window_height_ratio", &height_ratio, FALSE)) { + gint document_width; gint document_height; + + GdkScreen *screen; + + gint request_width; + gint request_height; ev_page_cache_get_max_width (window->priv->page_cache, 0, 1.0, @@ -910,9 +916,19 @@ setup_size_from_metadata (EvWindow *window) 0, 1.0, &document_height); + request_width = g_value_get_double (&width_ratio) * document_width; + request_height = g_value_get_double (&height_ratio) * document_height; + + screen = gtk_window_get_screen (GTK_WINDOW (window)); + + if (screen) { + request_width = MIN (request_width, gdk_screen_get_width (screen)); + request_height = MIN (request_width, gdk_screen_get_height (screen)); + } + gtk_window_resize (GTK_WINDOW (window), - g_value_get_double (&width_ratio) * document_width, - g_value_get_double (&height_ratio) * document_height); + request_width, + request_height); g_value_unset (&width_ratio); g_value_unset (&height_ratio); } |