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=03a4afa9aeab342a63530db46888e405ea1c8afc;hp=cc4fbfcae80cfaf5f320f25944ed9a3908a37428;hpb=81c134286178c1b09b7505c1a9e8fba0c612fe1f;p=evince.git diff --git a/shell/ev-sidebar-thumbnails.c b/shell/ev-sidebar-thumbnails.c index cc4fbfca..d86e6a55 100644 --- a/shell/ev-sidebar-thumbnails.c +++ b/shell/ev-sidebar-thumbnails.c @@ -593,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); @@ -662,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,