X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-sidebar-thumbnails.c;h=d86e6a553befb0ed62d4af8071f7161dc4acfed9;hb=e2796d0d1a833e63c9495193c9241bd718f68082;hp=9c0e21728d7ec3abc5390c92059dac50cba23691;hpb=5b55c6afc5ba271aea0e04fa00ff92291290260c;p=evince.git diff --git a/shell/ev-sidebar-thumbnails.c b/shell/ev-sidebar-thumbnails.c index 9c0e2172..d86e6a55 100644 --- a/shell/ev-sidebar-thumbnails.c +++ b/shell/ev-sidebar-thumbnails.c @@ -371,22 +371,12 @@ adjustment_changed_cb (EvSidebarThumbnails *sidebar_thumbnails) if (! GTK_WIDGET_REALIZED (priv->tree_view)) return; -#if GTK_CHECK_VERSION (2, 11, 3) gtk_tree_view_convert_tree_to_bin_window_coords (GTK_TREE_VIEW (priv->tree_view), 0, (int) priv->vadjustment->value, NULL, &wy1); gtk_tree_view_convert_tree_to_bin_window_coords (GTK_TREE_VIEW (priv->tree_view), 0, (int) (priv->vadjustment->value + priv->vadjustment->page_size), NULL, &wy2); -#else - gtk_tree_view_tree_to_widget_coords (GTK_TREE_VIEW (priv->tree_view), - 0, (int) priv->vadjustment->value, - NULL, &wy1); - gtk_tree_view_tree_to_widget_coords (GTK_TREE_VIEW (priv->tree_view), - 0, (int) (priv->vadjustment->value + priv->vadjustment->page_size), - NULL, &wy2); -#endif /* GTK_CHECK_VERSION (2, 11, 3) */ - gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (priv->tree_view), 1, wy1 + 1, &path, NULL, NULL, NULL); @@ -603,11 +593,11 @@ ev_sidebar_thumbnails_init (EvSidebarThumbnails *ev_sidebar_thumbnails) gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->swindow), GTK_SHADOW_IN); priv->vadjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (priv->swindow)); - g_signal_connect_data (G_OBJECT (priv->vadjustment), "value-changed", + g_signal_connect_data (priv->vadjustment, "value-changed", G_CALLBACK (adjustment_changed_cb), ev_sidebar_thumbnails, NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER); - g_signal_connect_swapped (G_OBJECT (priv->swindow), "size-allocate", + g_signal_connect_swapped (priv->swindow, "size-allocate", G_CALLBACK (adjustment_changed_cb), ev_sidebar_thumbnails); gtk_box_pack_start (GTK_BOX (ev_sidebar_thumbnails), priv->swindow, TRUE, TRUE, 0); @@ -672,9 +662,14 @@ ev_sidebar_thumbnails_set_document (EvSidebarPage *sidebar_page, EvSidebarThumbnailsPrivate *priv = sidebar_thumbnails->priv; - g_return_if_fail (EV_IS_DOCUMENT_THUMBNAILS (document)); - priv->page_cache = ev_page_cache_get (document); + + if (!EV_IS_DOCUMENT_THUMBNAILS (document) || + ev_page_cache_get_n_pages (priv->page_cache) <= 0 || + ev_page_cache_check_dimensions (priv->page_cache)) { + return; + } + priv->document = document; priv->n_pages = ev_page_cache_get_n_pages (priv->page_cache); priv->loading_icons = g_hash_table_new_full (g_str_hash,