summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/ev-sidebar-thumbnails.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/shell/ev-sidebar-thumbnails.c b/shell/ev-sidebar-thumbnails.c
index 72c365ec..adf2cf8f 100644
--- a/shell/ev-sidebar-thumbnails.c
+++ b/shell/ev-sidebar-thumbnails.c
@@ -925,10 +925,14 @@ ev_sidebar_thumbnails_document_changed_cb (EvDocumentModel *model,
priv->n_pages = ev_document_get_n_pages (document);
priv->rotation = ev_document_model_get_rotation (model);
priv->inverted_colors = ev_document_model_get_inverted_colors (model);
- priv->loading_icons = g_hash_table_new_full (g_str_hash,
- g_str_equal,
- (GDestroyNotify)g_free,
- (GDestroyNotify)g_object_unref);
+ if (priv->loading_icons) {
+ g_hash_table_remove_all (priv->loading_icons);
+ } else {
+ priv->loading_icons = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ (GDestroyNotify)g_free,
+ (GDestroyNotify)cairo_surface_destroy);
+ }
ev_sidebar_thumbnails_clear_model (sidebar_thumbnails);
ev_sidebar_thumbnails_fill_model (sidebar_thumbnails);